KR100307318B1 - Mpeg audio bit stream packing aparatus - Google Patents

Mpeg audio bit stream packing aparatus Download PDF

Info

Publication number
KR100307318B1
KR100307318B1 KR1019980055858A KR19980055858A KR100307318B1 KR 100307318 B1 KR100307318 B1 KR 100307318B1 KR 1019980055858 A KR1019980055858 A KR 1019980055858A KR 19980055858 A KR19980055858 A KR 19980055858A KR 100307318 B1 KR100307318 B1 KR 100307318B1
Authority
KR
South Korea
Prior art keywords
bits
bit
bit stream
mpeg audio
number control
Prior art date
Application number
KR1019980055858A
Other languages
Korean (ko)
Other versions
KR20000040272A (en
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 KR1019980055858A priority Critical patent/KR100307318B1/en
Publication of KR20000040272A publication Critical patent/KR20000040272A/en
Application granted granted Critical
Publication of KR100307318B1 publication Critical patent/KR100307318B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis

Abstract

1. 청구범위에 기재된 발명이 속하는 기술분야1. TECHNICAL FIELD OF THE INVENTION

본 발명은 MPEG 오디오 비트 스트림 패킹 장치에 관한 것임.The present invention relates to an MPEG audio bit stream packing apparatus.

2. 발명이 해결하고자하는 과제2. The problem to be solved by the invention

본 발명은, MPEG 오디오 인코딩 과정에서 최종 출력되는 비트 스트림을 바이트 단위로 MPEG 오디오 규격에 맞게 패킹함에 있어, 기존의 프로세서 코어를 이용하여 비트 스트림 패킹을 위해서 여러 명령어를 조합하여 비트 스트림 패킹을 수행함으로써, 패킹 속도를 현저하게 향상시킬 수 있는 비트 스트림 패킹 장치를 제공하고자 함.In the present invention, in packing the final output bit stream in the unit of byte according to the MPEG audio standard in the MPEG audio encoding process, by using a conventional processor core to perform a bit stream packing by combining several instructions for the bit stream packing To provide a bit stream packing device that can significantly improve the packing speed.

3. 발명의 해결방법의 요지3. Summary of Solution to Invention

본 발명은, 엠펙(MPEG) 오디오의 비트 스트림 패킹 장치에 있어서, 외부로부터 패킹하고자 하는 비트수를 결정하는 비트수를 입력받아, 패킷화되는 데이터의 비트수를 제어하기 위한 비트수 제어신호를 출력하는 비트수 제어수단; 상기 비트수 제어신호에 따라, 외부로부터 입력되는 데이터를 쉬프팅하기 위한 쉬프팅수단; 상기 비트수 제어신호에 따라, 입력되는 하위 비트들과 상위 비트들을 다중화하기 위한 다중화수단; 상기 다중화수단으로부터 출력되는 신호를 일시 저장하기 위한 제1 저장수단; 및 상기 쉬프팅수단의 출력신호와 상기 제1 저장수단의 출력신호를 논리합하여, 논리합한 상기 하위비트들과 상위비트들을 상기 다중화수단으로 전달하고, 상기 상위비트들을 패킷화하여 패킷화한 데이터를 출력하는 데이터 패킷화수단을 포함함.The present invention relates to a bit stream packing apparatus for MPEG audio, which receives a number of bits for determining the number of bits to be packed from the outside, and outputs a bit number control signal for controlling the number of bits of packetized data. Bit number control means; Shifting means for shifting data input from the outside according to the bit number control signal; Multiplexing means for multiplexing the lower bits and the upper bits according to the bit number control signal; First storage means for temporarily storing a signal output from the multiplexing means; And logically combining the output signal of the shifting means and the output signal of the first storage means, transferring the logically lower bits and upper bits to the multiplexing means, and outputting the packetized data by packetizing the upper bits. And data packetization means.

4. 발명의 중요한 용도4. Important uses of the invention

본 발명은 MPEG 오디오 등에 이용됨.The present invention is used for MPEG audio and the like.

Description

엠펙 오디오 비트 스트림 패킹 장치{Mpeg audio bit stream packing aparatus}MPEG audio bit stream packing device {Mpeg audio bit stream packing aparatus}

본 발명은 엠펙(MPEG : Mobile Picture Export Group) 오디오 비트 스트림패킹 기술에 관한 것으로, 특히 프로세서의 구조(Architecture)와 파이프라인(Pipeline)기법에 맞도록 최적화된 비트 패킹을 수행하는 특수한 모듈을 구동시킴으로써, 패킹 속도를 현저하게 향상시킬 수 있는 비트 스트림 패킹 장치에 관한 것이다.The present invention relates to MPEG (Mobile Picture Export Group) audio bit stream packing technology, and in particular, by driving a special module that performs bit packing optimized for the architecture and pipeline techniques of the processor. The present invention relates to a bit stream packing apparatus capable of significantly improving a packing speed.

MPEG 오디오 인코딩 과정에서 최종 출력되는 비트 스트림(Bit-stream)은 바이트 단위로 MPEG 오디오 규격에 맞게 패킹(Packing)하여야 하며, 기존의 프로세서 코어(Processor Core)를 이용하여 MPEG 오디오 인코딩하는 장치에서는 비트 패킹(Bit Packing)을 위해서 여러 명령어를 조합하여 비트 패킹을 수행하고, 이러한 이유로 많은 클럭 사이클이 소요되므로 비트 패킹을 빠른 시간 내에 수행하기란 불가능하다.Bit-stream that is finally output during MPEG audio encoding process should be packed in byte unit according to MPEG audio standard. In the device which encodes MPEG audio using existing processor core, bit packing Bit packing is performed by combining several instructions for bit packing, and for this reason, it is impossible to perform bit packing in a short time because many clock cycles are required.

즉, 기존의 프로세서 코어(Processor Core)를 이용하여 MPEG 오디오를 인코딩하는 경우 비트 패킹(Bit Packing)을 위해서는 여러 명령어를 조합하여 비트 패킹을 수행하게 되므로, 많은 클럭 사이클이 소요되어 비트 패킹을 빠른 시간내에 수행하기가 어려운 문제점이 있다.In other words, when MPEG audio is encoded using a conventional processor core, bit packing is performed by combining a plurality of instructions for bit packing, so that many clock cycles are required, resulting in fast bit packing time. There is a problem that is difficult to perform within.

본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로, MPEG 오디오 인코딩 과정에서 최종 출력되는 비트 스트림을 바이트 단위로 MPEG 오디오 규격에 맞게 패킹함에 있어, 기존의 프로세서 코어를 이용하여 비트 스트림 패킹을 위해서 여러 명령어를 조합하여 비트 스트림 패킹을 수행함으로써, 패킹 속도를 현저하게 향상시킬 수 있는 비트 스트림 패킹 장치를 제공하는데 그 목적이 있다.The present invention has been proposed in order to solve the above problems, and in packing the final output bit stream in the unit of byte according to the MPEG audio standard in the MPEG audio encoding process, packing the bit stream using a conventional processor core The purpose of the present invention is to provide a bit stream packing apparatus capable of significantly improving the packing speed by performing bit stream packing by combining several instructions.

도 1은 본 발명이 적용되는 명령어 파이프라인 구조도.1 is a block diagram of an instruction pipeline to which the present invention is applied.

도 2는 본 발명이 적용되는 3단계 파이프라인 처리를 위한 전체 유닛의 구조도.2 is a structural diagram of a whole unit for three-stage pipeline processing to which the present invention is applied;

도 3은 본 발명에 따른 엠펙 오디오 비트 스트림 패킹 장치의 일실시예 구성도.3 is a block diagram of an embodiment of an MPEG audio bit stream packing apparatus according to the present invention;

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

310: 비트수 제어부 320: 쉬프터310: number of bits control unit 320: shifter

330: 다중화부 340: 레지스터330: multiplexer 340: register

350: 데이터 패킷화부 360: 패킷상태 출력부350: data packetizer 360: packet state output unit

이와 같은 목적을 달성하기 위한 본 발명은, 엠펙(MPEG) 오디오의 비트 스트림 패킹 장치에 있어서, 외부로부터 패킹하고자 하는 비트수를 결정하는 비트수를 입력받아, 패킷화되는 데이터의 비트수를 제어하기 위한 비트수 제어신호를 출력하는 비트수 제어수단; 상기 비트수 제어신호에 따라, 외부로부터 입력되는 데이터를 쉬프팅하기 위한 쉬프팅수단; 상기 비트수 제어신호에 따라, 입력되는 하위 비트들과 상위 비트들을 다중화하기 위한 다중화수단; 상기 다중화수단으로부터 출력되는 신호를 일시 저장하기 위한 제1 저장수단; 및 상기 쉬프팅수단의 출력신호와 상기 제1 저장수단의 출력신호를 논리합하여, 논리합한 상기 하위비트들과 상위비트들을 상기 다중화수단으로 전달하고, 상기 상위비트들을 패킷화하여 패킷화한 데이터를 출력하는 데이터 패킷화수단을 포함하여 이루어진 것을 특징으로 한다. 그리고, 본 발명은, 상기 비트수 제어수단으로부터 출력되는 비트수 제어신호를 입력받아, 패킷화하고자 하는 비트수를 외부로 출력하는 패킷상태 출력수단을 더 포함하여 이루어진 것을 특징으로 한다.In the present invention for achieving the above object, in the bit stream packing apparatus of MPEG audio, receiving the number of bits to determine the number of bits to be packed from the outside, to control the number of bits of the packetized data Bit number control means for outputting a bit number control signal for the device; Shifting means for shifting data input from the outside according to the bit number control signal; Multiplexing means for multiplexing the lower bits and the upper bits according to the bit number control signal; First storage means for temporarily storing a signal output from the multiplexing means; And logically combining the output signal of the shifting means and the output signal of the first storage means, transferring the logically lower bits and upper bits to the multiplexing means, and outputting the packetized data by packetizing the upper bits. Characterized in that it comprises a data packetization means to. The present invention is characterized in that it further comprises a packet state output means for receiving the bit number control signal output from the bit number control means, and outputs the number of bits to be packetized to the outside.

상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명에서 사용하는 프로세서 코어는 파이프라인 방식을 이용하여 명령어를 처리하며 하버드 구조를 사용한다. 또한, 소스 명령어(Source operand)로서 레지스터는 물론 메모리 값을 사용할 수 있으며, 데스티네이션 명령어(destination operand)는 레지스터만을 사용할 수 있는 메모리-레지스터 머신(Memory-Register Machine)이다. 즉, 소스 명령어(Source operand)에 데이터 메모리의 어드레스를 지정하여 지정된 어드레스의 값을 읽어 연산하여 레지스터에 저장한다. 메모리에 값을 적기 위해서는 'Write'라는 명령을 통해서만 가능하다. 명령어 처리과정은 프리페치(Prefetch), 디코딩/리드(Decoding/Read), 실행(Execution)의 3단계로 분할된다. 즉, 설계된 프로세서의 파이프라인 기법은 3단계 파이프라인으로서 실제로 데이터를 처리하는 곳은 실행단이다.The processor core used in the present invention processes instructions using a pipelined method and uses a Harvard structure. In addition, registers as well as memory values can be used as a source operand, and a destination operand is a memory-register machine that can use only registers. That is, the address of the data memory is designated in the source operand, the value of the designated address is read, calculated, and stored in the register. To write a value to the memory, you can only use the 'Write' command. The instruction processing is divided into three stages: prefetch, decoding / read, and execution. In other words, the designed processor's pipeline technique is a three-stage pipeline, where the actual processing of the data is at the execution end.

도 1은 본 발명이 적용되는 명령어 파이프라인 구조도이다.1 is a schematic diagram of an instruction pipeline to which the present invention is applied.

도 1을 참조하면, 우선 명령어 페치(fetch) 단계에서는 프로그램 메모리로부터 명령어를 읽어 온다.Referring to FIG. 1, first, an instruction fetch step reads instructions from a program memory.

다음은, 복호화 및 읽기 단계에서는 페치된 명령어를 복호화하여 실행 단계에 필요한 모든 제어 신호를 생성하며, 데이터 메모리 값이 필요한 경우 메모리로부터 읽어온다.Next, in the decoding and reading step, all the control signals necessary for the execution step are generated by decoding the fetched instruction, and the data memory value is read from the memory if necessary.

마지막으로, 실행 단계에서는 지정된 연산을 수행하거나 메모리에 값을 지정하거나, '쓰기(Write)' 명령어의 경우 메모리의 값을 저장한다. 이때, 각 파이프라인(pipeline) 단계는 1사이클(cycle)에 수행된다.Finally, the execute step performs a specified operation, assigns a value to memory, or stores a value in memory in the case of a 'write' instruction. At this time, each pipeline stage is performed in one cycle.

도 2는 본 발명이 적용되는 3단계 파이프라인 처리를 위한 전체 유닛의 구조도이다.2 is a structural diagram of an entire unit for a three-stage pipeline processing to which the present invention is applied.

도 2에 도시된 바와 같이, 먼저, 프리페치(prefech) 단계를 실행하기 위한 프로그램 시퀀서(Program Sequencer)가 있으며, 복호화 및 읽기 단계를 수행하기 위한 제어(Control), 데이터 어드레스 발생(DAG : Data Address Generator) 유닛이 있고, 마지막으로 실행 단을 처리하기 위한 산술연산부(ALU)가 있다. 여기서, 비트 스트림 패킹(Packing) 장치는 실행 유닛에 결합되어 있다.As shown in FIG. 2, first, there is a program sequencer for executing a prefetch step, and a control and data address generation for performing a decoding and reading step (DAG: Data Address). There is a generator unit, and finally there is an arithmetic unit (ALU) to process the execution stage. Here, the bit stream packing device is coupled to the execution unit.

이러한 구조의 프로세서 코어에서 비트 패킹을 1 사이클에 임의의 비트 수 만큼을 패킹하고, 16 비트 반큼 패킹되면 이를 원하는 메모리에 저장하기 위하여 다음과 같은 조건을 가정한다.In the processor core of this structure, a bit packing is packed for an arbitrary number of bits in one cycle, and if it is packed in half of 16 bits, the following conditions are assumed to be stored in a desired memory.

가) 'PACK' 명령어에 의해 동작한다.A) Operated by 'PACK' command.

나) 데이터(data) = 패킹(Packing)하기 원하는 데이터로서 1 워드(1 word=16 비트) 단위로 입력되며, 원하는 비트 이외는 모두 0으로 채워져 있어야 한다(한 번 패킹하는 최대 단위는 16 비트이다).B) data = Data to be packed and input in units of 1 word (1 word = 16 bits), and all other bits must be filled with 0 (the maximum unit to pack is 16 bits). ).

다) 패킹된 결과의 단위는 프로세서의 데이터 처리 단위인 16으로 한다.C) The unit of the packed result is 16, which is a data processing unit of the processor.

라) 설계된 프로세서는 실행 단에서 데이터를 조작하거나 메모리에 쓴다. 'PACK' 명령어는 패킹을 하고 16 비트가 패킹되면 원하는 메모리에 저장해야 한다. 따라서, 저장을 하지 않는 경우는 실행 단의 1 사이클동안 수행할 수 있으나, 16 비트가 패킹되어 저장을 해야하는 경우가 발생하면 1 사이클 동안 모두 수행할 수 없다. 따라서, 이 경우는 실행 단을 2사이클로 확장해야 하는데 이렇게 설계를 하게 되면 프로그램 시퀀서(Program Sequencer)와 제어기(Controller)에 많은 수정을가해야 하는 것은 물론 명령어 당 클럭(CPI : Clock Per Instruction)을 떨어뜨려 전체적인 성능의 저하를 가져오므로 다음과 같은 방식을 도입했다.D) Designed processors manipulate or write data to memory at the execution end. The 'PACK' instruction should pack and store in the desired memory once the 16 bits are packed. Therefore, when not storing, it can be performed for one cycle of the execution stage. However, if 16 bits are packed and need to be stored, all of them cannot be performed for one cycle. Therefore, in this case, the execution stage should be extended to 2 cycles. In this design, many modifications must be made to the program sequencer and the controller, and the clock per instruction (CPI) is dropped. As the overall performance is reduced, the following method is introduced.

'PACK' 명령어에 대해 독립된 모듈을 만들어 패킹을 수행하는데 16 비트가 패킹되면 이를 저장해 두었다가 다음의 'PACK' 명령어가 수행될 때 저장한다. 물론 이때 비트 패킹도 동시에 행한다. 이를 통해 실행 단을 두 사이클로 늘리지 않고 수행할 수 있으며, 제어기의 간단한 수정으로도 이를 처리할 수 있다.It makes an independent module for 'PACK' instruction and performs packing. When 16 bits are packed, it is saved and saved when the next 'PACK' instruction is executed. Of course, bit packing is also performed at this time. This can be done without increasing the execution stage in two cycles and can be handled with a simple modification of the controller.

후술되는 도 3 은 'PACK' 명령에 의해 동작하는 패킹 장치로서, 다음의 절차에 의해 패킹을 한다.3, which will be described later, is a packing device operated by a 'PACK' command, and is packed by the following procedure.

가. 초기화end. reset

(1). Index = 10h (=16, 5 비트)(One). Index = 10h (= 16, 5 bits)

(2) Num_Bit = 패킹하기 원하는 비트 수(5 비트, 위 조건에 의해 0 ∼ 16의 값을 가짐)(2) Num_Bit = number of bits to be packed (5 bits, having a value from 0 to 16 under the above conditions)

(3) Destination = 0000h(3) Destination = 0000h

(4) Packed_Result = 0000h(4) Packed_Result = 0000h

나. 패킹I. packing

(1) Index_Result = Index - Num_Bit(이때, 이 결과는 2의 보수 형태로 취급하며 -16 ∼ 15으로 인식함)(1) Index_Result = Index-Num_Bit (The result is treated as two's complement and recognized as -16 to 15.)

(2) 데이터의 오른쪽에 0000h를 붙여 32 비트로 확장 시킨 후, 'Index_Result' 만큼 데이터를 쉬프트(Shift)한다('Index_Result'가 양수이면 우로 쉬프트하며, 음수이면 좌로 쉬프트한다. 단 'Logical' 쉬프트 함).(2) After adding 0000h to the right of the data to expand it to 32 bits, shift the data by 'Index_Result' (shift to the right if 'Index_Result' is positive and to the left if it is negative, but shift to 'Logical'). ).

(3) (2)의 결과와 'Destination'의 오른쪽에 '0000h'붙인 값과 'OR'를 한다.(3) The result of (2) and '0000h' to the right of 'Destination' and 'OR'.

(4) 'Index Result'는 2의 보수로 취급하므로 MSB가 1이면 음수로 인식한다. 이때, 인덱스 결과(Index Result)의 MSB가 '0'이면 아직 16 비트를 패킹하지 않은 경우이므로 상위 16 비트만을 'Destination'에 저장하고 하위 16 비트는 버린다. 인덱스 결과(Index Result)의 MSB가 1이면 이때 현재 패킹된 비트 수가 16을 넘었음을 나타낸다. 이 경우 (3)의 결과 중 상위 16 비트가 패킹된 결과이므로 이 상위 16 비트를 'Packed_Result'에 저장하며, 'Bit_Pack_Write_Status'에 '1'을 저장한다.(4) 'Index Result' is treated as two's complement, so if MSB is 1, it is recognized as negative. At this time, if the MSB of the index result (0) is '0', since 16 bits have not been packed yet, only the upper 16 bits are stored in 'Destination' and the lower 16 bits are discarded. If the MSB of the index result (Index Result) is 1, this indicates that the number of bits currently packed exceeds 16. In this case, since the upper 16 bits of the result of (3) are packed, the upper 16 bits are stored in 'Packed_Result' and '1' is stored in 'Bit_Pack_Write_Status'.

(5) 다음의 'Pack' 명령을 기다린다.(5) Wait for the next 'Pack' command.

(6) 'Pack' 명령을 만나면 'Write_Status'를 살펴보아 '1'이면 원하는 어드레스를 데이터 메모리 어드레스(DMA)에 제공하고 DMD에 'Packed_Result'를 실어 메모리 저장(Write)을 수행하며 동시에 (1)부터 수행한다.(6) When it meets 'Pack' command, it checks 'Write_Status' and if it is '1', it provides the desired address to data memory address (DMA) and 'Packed_Result' on DMD to perform memory storage (1). To start with.

이상이 'Pack' 명령이 동작하는 과정이며, 그 내부구조를 도 1에 나타내었다.This is the process of the 'Pack' command operation, the internal structure is shown in FIG.

이 모듈에서는 32 비트 배럴(Barrel) 쉬프트를 해야 하는데, 이를 위해서 새로이 배럴 쉬프터(Barrel Shifter)를 사용하는 것은 배럴 쉬프터가 상당한 면적을 차지하므로 비효율적이다. 따라서, 산술연산부(ALU) 내의 쉬프터를 이용하였다. 이를 위해 명령어를 디코딩하는 제어기에서 오는 쉬프트할 비트 수와 패킹 모듈에서 제공되는 "Index_Result"를 멀티플렉서(Mux)에 연결하여 쉬프터(Shifter)의"Num_Bit"에 연결하였다.In this module, 32-bit barrel shifts are required. Using the new barrel shifter for this purpose is inefficient because the barrel shifter takes up a considerable area. Therefore, a shifter in an arithmetic operation unit (ALU) was used. For this purpose, the number of bits to be shifted from the controller decoding the instruction and the "Index_Result" provided by the packing module are connected to the multiplexer (Mux) and the "Num_Bit" of the shifter.

이 패킹된 데이터는 시스템 차원에서 보면 특수한 데이터이다. 이 프로세서 코어의 결과물로서 외부로 데이터를 전송하기 위한 피포(FIFO)에서 데이터이다. 프로세서 코어와 피포(FIFO) 사이의 자료 교환을 위해, 일정한 메모리 영역을 사용하기로 하였는데, 이 메모리 영역은 고정되어 있으므로 그 번지 범위도 고정적이다. 따라서, 모듈로 연산을 해주는 번지 생성기가 하나 필요하게 된다. 이 번지 생성기는 앞의 번지 생성기에서 설명한 것과 같이 "AR4"로 이름이 붙여졌으며 "2800h"부터 "33FFh" 사이에서 1씩 증가 시키며 모듈로(Modulo) 연산을 해준다.This packed data is special at the system level. The result of this processor core is data in a FIFO for transmitting data to the outside. For the exchange of data between the processor core and the FIFO, we decided to use a constant memory area, which is fixed, so the address range is fixed. Therefore, one address generator for modulo operation is needed. This address generator is named "AR4" as described in the previous address generator, and modulo operation is incremented by 1 between "2800h" and "33FFh".

도 3은 본 발명에 따른 엠펙 오디오 비트 스트림 패킹 장치의 일실시예 구성도이다.3 is a block diagram of an embodiment of an MPEG audio bit stream packing apparatus according to the present invention.

도 3에 도시된 바와 같이, 본 발명에 따른 엠펙 오디오 비트 스트림 패킹 장치는, 외부로부터 패킹하고자 하는 비트수를 결정하는 비트수를 입력받아, 패킷화되는 데이터의 비트수를 제어하기 위한 비트수 제어신호를 출력하는 비트수 제어부(310)와, 비트수 제어부(310)로부터 전달된 비트수 제어신호에 따라, 외부로부터 입력되는 데이터를 쉬프팅하기 위한 쉬프터(320)와, 비트수 제어부(310)로부터 전달되는 비트수 제어신호에 따라, 입력되는 하위 비트들과 상위 비트들을 다중화하기 위한 다중화부(330)와, 다중화부(330)로부터 출력되는 신호를 일시 저장하기 위한 레지스터(340)와, 쉬프터(320)의 출력신호와 레지스터(340)의 출력신호를 논리합하여, 논리합한 하위비트들과 상위비트들을 다중화부(330)로 전달하고, 상위비트들을 패킷화하여 패킷화한 데이터를 출력하는 데이터 패킷화부(350)를 구비한다.As shown in FIG. 3, the MPEG audio bit stream packing apparatus according to the present invention receives a number of bits for determining the number of bits to be packed from the outside, and controls the number of bits for controlling the number of bits of the packetized data. From the bit number control unit 310 for outputting a signal, the shifter 320 for shifting data input from the outside, and the bit number control unit 310 according to the bit number control signal transmitted from the bit number control unit 310. According to the transmitted bit number control signal, the multiplexer 330 for multiplexing the inputted lower bits and the upper bits, the register 340 for temporarily storing the signal output from the multiplexer 330, and the shifter ( Data obtained by logically combining the output signal of 320 and the output signal of register 340, transferring the logically lower bits and the upper bits to the multiplexer 330, and packetizing the upper bits by packetizing the upper bits. It includes a data packetizer 350 for outputting.

그리고, 본 발명은 비트수 제어부(310)로부터 출력되는 비트수 제어신호를 입력받아, 패킷화하고자 하는 비트수를 외부로 출력하는 패킷상태 출력부(360)를 더 구비한다.The present invention further includes a packet state output unit 360 which receives a bit number control signal output from the bit number controller 310 and outputs the number of bits to be packetized to the outside.

비트수 제어부(310)는, 외부로부터 입력되는 비트수에서 인덱스 레지스터(312)로부터 전달되는 비트수를 감산하여 비트수 제어신호를 출력하는 감산기(311)와, 감산기(311)의 출력신호를 일시 저장하여 다시 감산기(311)로 출력하는 인덱스 레지스터(312)로 구성된다.The bit number control unit 310 temporarily subtracts the output signal of the subtractor 311 and the subtractor 311 outputting the bit number control signal by subtracting the number of bits transmitted from the index register 312 from the number of bits input from the outside. The index register 312 stores and outputs the result to the subtractor 311.

데이터 패킷화부(350)는, 쉬프터(320)의 출력신호와 레지스터(340)의 출력신호를 논리합하기 위한 논리합게이트(351)와, 논리합게이트(351)에 의해 논리합된 상위비트들을 패킷화하여 패킷화한 데이터를 출력하는 패킷 데이터 출력부(352)로 이루어진다.The data packetizer 350 packetizes the logical sum gate 351 for ORing the output signal of the shifter 320 and the output signal of the register 340, and the higher bits that are OR'ed by the logical sum gate 351. And a packet data output unit 352 for outputting the normalized data.

상기한 바와 같은 구조를 갖는 본 발명의 엠펙 오디오 비트 스트림 패킹 장치의 동작에 대하여 상세하게 설명하면 다음과 같다.The operation of the MPEG audio bit stream packing apparatus of the present invention having the structure as described above will be described in detail as follows.

초기상태에서는, 감산기(311)는 외부로부터 입력되는 비트수를 감산하지 않고 그대로 출력하여 쉬프터(320)와 다중화부(330)로 전달하게 되고, 이에 따라 데이터 패킷화부(350)는 감산기(311)를 통해 전달되는 비트수만큼의 상위 비트들을 패킷화한다.In the initial state, the subtractor 311 outputs the number of bits inputted from the outside without being subtracted and transmits the same to the shifter 320 and the multiplexer 330. Accordingly, the data packetizer 350 subtracts the subtractor 311. Packetize the upper bits as many as the number of bits passed through.

초기상태가 지나게 되면, 감산기(311)를 통해 출력된 비트수는 인덱스 레지스터(312)에 일시 저장된 다음 감산기(311)로 전달되고, 이어 감산기(311)는 외부로부터 현재 입력되는 비트수에서 인덱스 레지스터(312)로부터 전달되는 신호를 감산한다.When the initial state passes, the number of bits output through the subtractor 311 is temporarily stored in the index register 312 and then transferred to the subtractor 311, which is then subtracted from the external index register at the current number of bits. Subtract the signal from 312.

이때, 감산기(311)로부터 출력되는 신호는 패킷화 데이터의 비트수를 제어하는 비트수 제어신호로서, 쉬프터(320), 다중화부(330) 및 패킷상태 출력부(360)로 전달된다.In this case, the signal output from the subtractor 311 is a bit number control signal for controlling the number of bits of the packetized data, and is transmitted to the shifter 320, the multiplexer 330, and the packet state output unit 360.

이어서, 쉬프터(320)는 전달된 비트수 제어신호에 따라 외부로부터 입력되는 데이터를 쉬프팅하여 논리합게이트(351)로 전달한다.Subsequently, the shifter 320 shifts data input from the outside according to the transmitted bit number control signal to the logic sum gate 351.

그리고, 다중화부(330)는 전달된 비트수 제어신호에 따라 논리합게이트(351)로부터 전달되는 상위 비트들과 하위 비트들을 다중화하여 레지스터(340)로 전달한다.The multiplexer 330 multiplexes the upper bits and the lower bits transmitted from the logic sum gate 351 according to the transmitted number control signal to the register 340.

한편, 패킷상태 출력부(360)는 비트수 제어신호를 입력받아 패킷화하고자 하는 비트수를 외부 장치인 CPU 등으로 전달하여, 사용자가 현재 패킷화된 데이터의 비트수를 알 수 있도록 한다.On the other hand, the packet state output unit 360 receives the bit number control signal and transfers the number of bits to be packetized to an external device, such as a CPU, so that the user can know the number of bits of the current packetized data.

그리고, 논리합게이트(351)는 쉬프터(320)를 통해 쉬프팅된 데이터와 레지스터(340)를 통해 전달되는 다중화된 신호를 논리합하여 논리합한 상위비트들과 하위비트들을 출력한다.In addition, the OR gate 351 performs OR on the multiplexed signal transferred through the shifter 320 and the data shifted through the register 340 and outputs the OR bits and the OR bits that are OR.

이렇게, 출력된 상위비트들과 하위비트들은 다중화부(330)로 전달되면서, 이중 상위비트들은 패킷 데이터 출력부(352)로 전달되어 패킷화된다.In this way, the output upper bits and lower bits are transmitted to the multiplexer 330, and the upper bits are transmitted to the packet data output unit 352 to be packetized.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes can be made in the art without departing from the technical spirit of the present invention. It will be apparent to those of ordinary knowledge.

상기한 바와 같은 본 발명은, 기존의 프로세서 코어를 이용하여 비트 스트림 패킹을 위해서 여러 명령어를 조합하여 MPEG 오디오 인코딩 과정에서 최종 출력되는 비트 스트림을 바이트 단위로 비트 스트림 패킹을 수행함으로써, 패킹 속도를 현저하게 향상시킬 수 있는 효과가 있다.As described above, according to the present invention, by packing a plurality of instructions for bit stream packing using an existing processor core, bit stream packing is performed on a byte stream, which is finally output in the MPEG audio encoding process, by byte unit, thereby remarkable packing speed. There is an effect that can be improved.

Claims (4)

엠펙(MPEG) 오디오의 비트 스트림 패킹 장치에 있어서,In the bit stream packing apparatus of MPEG audio, 외부로부터 패킹하고자 하는 비트수를 결정하는 비트수를 입력받아, 패킷화되는 데이터의 비트수를 제어하기 위한 비트수 제어신호를 출력하는 비트수 제어수단;Bit number control means for receiving a bit number for determining the number of bits to be packed from the outside and outputting a bit number control signal for controlling the number of bits of the packetized data; 상기 비트수 제어신호에 따라, 외부로부터 입력되는 데이터를 쉬프팅하기 위한 쉬프팅수단;Shifting means for shifting data input from the outside according to the bit number control signal; 상기 비트수 제어신호에 따라, 입력되는 하위 비트들과 상위 비트들을 다중화하기 위한 다중화수단;Multiplexing means for multiplexing the lower bits and the upper bits according to the bit number control signal; 상기 다중화수단으로부터 출력되는 신호를 일시 저장하기 위한 제1 저장수단; 및First storage means for temporarily storing a signal output from the multiplexing means; And 상기 쉬프팅수단의 출력신호와 상기 제1 저장수단의 출력신호를 논리합하여, 논리합한 상기 하위비트들과 상위비트들을 상기 다중화수단으로 전달하고, 상기 상위비트들을 패킷화하여 패킷화한 데이터를 출력하는 데이터 패킷화수단Logically combining the output signal of the shifting means and the output signal of the first storage means, transferring the logically lower bits and upper bits to the multiplexing means, and outputting the packetized data by packetizing the upper bits Data packetization means 을 포함하는 엠펙 오디오의 비트 스트림 패킹 장치.Bit stream packing apparatus of the MPEG audio comprising a. 제 1 항에 있어서,The method of claim 1, 상기 비트수 제어수단으로부터 출력되는 비트수 제어신호를 입력받아, 패킷화하고자 하는 비트수를 외부로 출력하는 패킷상태 출력수단Packet state output means for receiving the bit number control signal output from the bit number control means and outputting the number of bits to be packetized to the outside 을 더 포함하는 엠펙 오디오의 비트 스트림 패킹 장치.Bit stream packing apparatus of the MPEG audio further comprising. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 비트수 제어수단은,The bit number control means, 외부로부터 입력되는 비트수에서 제2 저장수단으로부터 전달되는 비트수를 감산하여 상기 비트수 제어신호를 출력하는 감산수단; 및Subtraction means for subtracting the number of bits transmitted from the second storage means from the number of bits input from the outside and outputting the bit number control signal; And 상기 감산수단의 출력신호를 일시 저장하여 상기 감산수단으로 출력하는 상기 제2 저장수단The second storage means for temporarily storing the output signal of the subtraction means and outputting the output signal to the subtraction means; 을 포함하는 엠펙 오디오의 비트 스트림 패킹 장치.Bit stream packing apparatus of the MPEG audio comprising a. 제 3 항에 있어서,The method of claim 3, wherein 상기 데이터 패킷화수단은,The data packetization means, 상기 쉬프팅수단의 출력신호와 상기 제 1 저장수단의 출력신호를 논리합하기 위한 논리합 연산수단; 및Logical sum calculating means for ORing the output signal of the shifting means and the output signal of the first storage means; And 상기 논리합 연수단에 의해 논리합된 상위비트들을 패킷화하여 패킷화한 데이터를 출력하는 패킷 데이터 출력수단Packet data output means for outputting the packetized data by packetizing the upper bits that are logically joined by the logical sum means. 을 포함하는 엠펙 오디오의 비트 스트림 패킹 장치.Bit stream packing apparatus of the MPEG audio comprising a.
KR1019980055858A 1998-12-17 1998-12-17 Mpeg audio bit stream packing aparatus KR100307318B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980055858A KR100307318B1 (en) 1998-12-17 1998-12-17 Mpeg audio bit stream packing aparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980055858A KR100307318B1 (en) 1998-12-17 1998-12-17 Mpeg audio bit stream packing aparatus

Publications (2)

Publication Number Publication Date
KR20000040272A KR20000040272A (en) 2000-07-05
KR100307318B1 true KR100307318B1 (en) 2001-11-02

Family

ID=19563503

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980055858A KR100307318B1 (en) 1998-12-17 1998-12-17 Mpeg audio bit stream packing aparatus

Country Status (1)

Country Link
KR (1) KR100307318B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030065002A (en) * 2002-01-29 2003-08-06 주식회사 리코시스 Method of Transmitting Multimedia Streaming Data via Wireless Network and Receiver Using the Same

Also Published As

Publication number Publication date
KR20000040272A (en) 2000-07-05

Similar Documents

Publication Publication Date Title
EP0021399B1 (en) A method and a machine for multiple instruction execution
JP3547139B2 (en) Processor
EP1230591B1 (en) Decompression bit processing with a general purpose alignment tool
KR100346515B1 (en) Temporary pipeline register file for a superpipe lined superscalar processor
KR100249631B1 (en) Data processor
US7143268B2 (en) Circuit and method for instruction compression and dispersal in wide-issue processors
JPH02287626A (en) Pipeline system branch instruction controller
US6889320B1 (en) Microprocessor with an instruction immediately next to a branch instruction for adding a constant to a program counter
JP4502532B2 (en) Data processing device
KR100307318B1 (en) Mpeg audio bit stream packing aparatus
JP2002229779A (en) Information processor
KR100472706B1 (en) Digital signal processor having a plurality of independent dedicated processors
JP4613168B2 (en) Instruction alignment method and apparatus
US7757066B2 (en) System and method for executing variable latency load operations in a date processor
US7028164B2 (en) Instruction fetch apparatus for wide issue processors and method of operation
US5361338A (en) Pipelined system for decomposing instruction into two decoding parts and either concurrently generating two operands addresses of merging decomposing decoding codes based upon the second operand
WO2021061483A1 (en) Instruction processing apparatus, processor, and processing method for instruction ordering
US6922773B2 (en) System and method for encoding constant operands in a wide issue processor
JP3569811B2 (en) Data processing device having pipeline processing function
US7406590B2 (en) Methods and apparatus for early loop bottom detection in digital signal processors
WO2022040877A1 (en) Graph instruction processing method and device
KR100343459B1 (en) Java processor
JP3102399B2 (en) Data processing apparatus and method
JPH0816392A (en) Computer system, computer-system operating method and computer-instruction-sequence execution method
JP2000276352A (en) Pipeline protection

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

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20130805

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20140804

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20150804

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20160809

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee