KR200347625Y1 - Parallel processing encoder - Google Patents

Parallel processing encoder Download PDF

Info

Publication number
KR200347625Y1
KR200347625Y1 KR20-2004-0002339U KR20040002339U KR200347625Y1 KR 200347625 Y1 KR200347625 Y1 KR 200347625Y1 KR 20040002339 U KR20040002339 U KR 20040002339U KR 200347625 Y1 KR200347625 Y1 KR 200347625Y1
Authority
KR
South Korea
Prior art keywords
parallel processing
video data
processor
bit stream
data
Prior art date
Application number
KR20-2004-0002339U
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 KR20-2004-0002339U priority Critical patent/KR200347625Y1/en
Application granted granted Critical
Publication of KR200347625Y1 publication Critical patent/KR200347625Y1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • H04N19/423Methods 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 characterised by memory arrangements
    • 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
    • H04N19/436Methods 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 using parallelised computational arrangements

Abstract

본 고안은 병렬처리 부호화기에 관한 것으로서, 다중 디지털 신호 프로세서를 사용하는 병렬처리 부호화기에 있어서 각 프로세서간의 데이터 종속성을 제거하여 각 프로세서가 효율적이고 신속한 병렬처리가 가능한 병렬처리 부호화기에 관한 것이다. 본 고안에서는 주 프로세서가 호스트로부터 비디오 데이터를 로드하고 이를 각 종속 프로세서에 분할하여 분배하면, 각 종속 프로세서는 상기 비디오 데이터를 부호화하여 비트 스트림을 생성하며, 주 프로세서는 상기 비트 스트림 각각을 하나의 비트 스트림으로 병합하여 완성한다.The present invention relates to a parallel processing encoder, and in a parallel processing encoder using multiple digital signal processors, a parallel processing encoder capable of efficiently and rapidly performing parallel processing by eliminating data dependency between each processor. In the present invention, when the main processor loads video data from the host and divides and distributes the video data to each subordinate processor, each subordinate processor encodes the video data to generate a bit stream, and the main processor divides each bit stream into one bit. Complete by merging into a stream.

Description

병렬처리 부호화기 {PARALLEL PROCESSING ENCODER}Parallel Processing Encoder {PARALLEL PROCESSING ENCODER}

본 고안은 병렬처리 부호화기에 관한 것으로서, 상세하게는 다중 디지털 신호 프로세서를 사용하는 병렬처리 부호화기에 있어서 각 프로세서간의 데이터 종속성을 제거하여 각 프로세서가 효율적이고 신속한 병렬처리가 가능한 병렬처리 부호화기에 관한 것이다.The present invention relates to a parallel processing encoder, and more particularly, to a parallel processing encoder in which a parallel processing encoder using multiple digital signal processors eliminates data dependencies between processors, thereby enabling efficient and rapid parallel processing for each processor.

최근 디지털 영상의 응용분야가 확대됨에 따라 MPEG-4 등 디지털화된 영상을 사용하는데 필요한 영상 압축 기술이 개발되어왔다.Recently, as the field of application of digital video has been expanded, image compression technology required to use digitized video such as MPEG-4 has been developed.

그런데, MPEG-4의 부호화 과정에서는 움직임 보상 예측 및 상기 움직임 벡터의 생성과 관련하여 주변 블록을 참조하게 되는데, 이러한 과정으로 인하여 데이터가 종속성을 가지게 된다.However, in the encoding process of MPEG-4, neighboring blocks are referred to with respect to motion compensation prediction and generation of the motion vector. As a result, data has a dependency.

특히, MPEG-4의 부호화 과정을 병렬처리 하기 위하여 다중 디지털 신호 프로세서(Multi Digital Signal Processor)를 이용하여 수행할 경우, 각각의 프로세서에 전체 작업과정 중의 일부 작업만을 분담시키고 각 프로세서는 자신에게 분담된작업만을 수행하는 방식이 사용되었다.In particular, when performing the process of MPEG-4 encoding by using a multiple digital signal processor (Multi Digital Signal Processor), each processor only shares some tasks of the entire process, and each processor is assigned to itself. A method of performing only work was used.

도 1은 종래 병렬처리 부호화기의 개략 구조도이다.1 is a schematic structural diagram of a conventional parallel processing encoder.

종래의 다중 디지털 신호 프로세서를 사용하는 병렬처리 부호화기(100)는 보통 4개의 프로세서인 DSP0(101) ~ DSP3(104)를 통하여 수행되며, 각각의 프로세서에는 다른 일정한 작업이 분담되어져서 동일한 시간에 중첩되어 수행되어진다.The parallel processing encoder 100 using a conventional multiple digital signal processor is usually performed through four processors DSP0 101 to DSP3 104, each of which is assigned a different constant task and overlaps at the same time. Is executed.

즉, 병렬 처리에 있어서, DSP0(101)가 PCI 버스(105)를 통하여 호스트(미도시)로부터 소스 프레임을 가져온 후 이를 각각 DSP1(102)과 DSP2(103)로 분배하며, DSP1(102)은 상기 데이터 등으로부터 정수단위 움직임 추정과정을 통하여 움직임 벡터를 생성하고 이를 DSP2(103)로 전송한다.That is, in parallel processing, DSP0 101 obtains a source frame from a host (not shown) via PCI bus 105 and distributes it to DSP1 102 and DSP2 103, respectively. A motion vector is generated from the data through an integer motion estimation process and transmitted to the DSP2 103.

DSP2(103)는 상기 움직임 벡터를 바탕으로 반화소 단위 움직임 추정과정 및 움직임 보상과정, 이산 코사인 변환과정, 그리고 양자화과정을 통하여 양자화 계수를 생성하고 이를 DSP3(104)로 전송하며, 재구성한 프레임을 DSP1(102)으로 전송한다.The DSP2 103 generates a quantization coefficient through a half-pixel unit motion estimation process, a motion compensation process, a discrete cosine transform process, and a quantization process based on the motion vector, transmits the quantization coefficient to the DSP3 104, and reconstructs the reconstructed frame. Transfer to DSP1 102.

DSP3(104)는 상기 양자화 계수를 바탕으로 가변길이장 과정을 수행하여 생성된 비트 스트림을 PCI 버스(105)를 통하여 다시 호스트(미도시)로 전송하게 된다.The DSP3 104 transmits the bit stream generated by performing the variable length length process based on the quantization coefficients to the host (not shown) through the PCI bus 105.

그런데, 이와같은 종래의 병렬처리 부호화기에 의하면, 각 프로세서는 다른 프로세서의 처리결과를 참조하면서 순차적으로 수행되므로, 만일 각 프로세서에 걸린 작업 부하가 동일하지 않을 경우에는 각 프로세서에서는 부하량이 많은 프로세서의 처리결과를 기다리게 되어, 결국 이로 인하여 각 프로세서가 대기하게 되는 유휴 시간과, 각 프로세서 간의 대량의 I/O로 인한 병목현상이 발생하게 된다. 따라서 각 프로세서에서는 연산보다는 오히려 과도한 데이터의 이동과 메시지의 전달에 시간이 더 걸리게 되어 결국 처리율의 저하로 연결되는 문제가 있었다.However, according to the conventional parallel processing encoder, since each processor is sequentially executed while referring to the processing result of another processor, if the workload of each processor is not the same, each processor processes the processor with a large load. As a result, the result is a bottleneck caused by the idle time that each processor waits and a large amount of I / O between each processor. Therefore, each processor takes more time for excessive data movement and message delivery than for operation, resulting in a decrease in throughput.

이에 본 고안은 상기와 같은 문제점을 해결하기 위해 창안된 것으로, 본 고안의 목적은 다중 디지털 신호 프로세서를 사용하는 병렬처리 부호화기에 있어서 각 프로세서간의 데이터 종속성을 제거함으로써 보다 효율적이고 신속한 병렬처리가 가능한 병렬처리 부호화기를 제공하기 위한 것이다.Therefore, the present invention was devised to solve the above problems, and an object of the present invention is to remove data dependencies between processors in a parallel processing encoder using multiple digital signal processors, thereby enabling more efficient and faster parallel processing. To provide a processing encoder.

도 1은 종래 병렬처리 부호화기의 개략 구조도.1 is a schematic structural diagram of a conventional parallel processing encoder.

도 2a는 본 고안에 의한 병렬처리 부호화기의 개략 구조도.2A is a schematic structural diagram of a parallel processing encoder according to the present invention.

도 2b는 본 고안에 의한 병렬처리 부호화기의 데이터 처리에 관한 개략도.2B is a schematic diagram of data processing of a parallel processing encoder according to the present invention.

도 3은 본 고안에 의한 병렬처리 부호화기에 있어서 동기화 코드가 지정된 비디오 패킷의 구성도.3 is a block diagram of a video packet to which a synchronization code is designated in the parallel processing encoder according to the present invention.

도 4a는 재동기화 코드를 사용하지 않은 비트 스트림의 예시도.4A is an illustration of a bit stream without using a resynchronization code.

도 4b는 재동기화 코드를 사용한 비트 스트림의 예시도.4B is an illustration of a bit stream using a resynchronization code.

도 5는 본 고안에 의한 병렬처리 부호화기에 있어서 각 프로세서의 데이터 처리에 관한 개략 흐름도.5 is a schematic flowchart of data processing of each processor in the parallel processing encoder according to the present invention.

도 6은 본 고안에 의한 병렬처리 부호화기에 있어서 병렬처리에 관한 흐름도.6 is a flowchart of parallel processing in the parallel processing encoder according to the present invention.

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

1: 병렬처리 부호화기 2: DSP01: parallel encoder 2: DSP0

3: DSP1 4: DSP23: DSP1 4: DSP2

5: DSP3 6: 공유 메모리5: DSP3 6: shared memory

7 ~ 10: 내부 메모리 11: 호스트7 to 10: internal memory 11: host

12: 내부 PCI 버스 13: 외부 PCI 버스12: internal PCI bus 13: external PCI bus

14: VOP 15: 비디오 패킷14: VOP 15: video packet

16: 재동기화 코드 17: 매크로 블록수16: Resynchronization code 17: Macroblocks

18: 양자화 값 19: HEC18: quantization value 19: HEC

20: 매크로 블록 데이터20: macro block data

이와 같은 목적을 달성하기 위한 본 고안의 특징으로서, 본 고안에 의한 병렬처리 부호화기는, 다중 디지털 신호 프로세서를 사용하여 비디오 데이터의 부호화를 병렬처리하는 병렬처리 부호화기에 있어서, 호스트로부터 상기 비디오 데이터를 가져와 이를 복수의 종속 프로세서에 분배하고, 생성된 비트 스트림을 하나의 비트 스트림으로 병합하는 주 프로세서와; 상기 분배된 비디오 데이터를 각자 독립적으로 동시에 부호화처리하여 상기 비트 스트림을 생성하며, 상호간에 데이터를 교환하는 복수의 종속 프로세서와; 생성된 상기 비트 스트림을 저장하는 공유 메모리를 포함하여 이루어지는 것을 특징으로 한다.As a feature of the present invention for achieving the above object, the parallel processing encoder according to the present invention, in a parallel processing encoder for parallel processing the encoding of video data using a multiple digital signal processor, the video data from the host A main processor for distributing it to a plurality of subordinate processors and merging the generated bit streams into one bit stream; A plurality of subordinate processors for encoding the distributed video data independently and simultaneously to generate the bit stream, and to exchange data with each other; It characterized in that it comprises a shared memory for storing the generated bit stream.

또한, 본 고안의 다른 특징으로서, 상기 주 프로세서 및 상기 종속 프로세서는 상기 비디오 데이터를 저장하는 내부 메모리를 각각 포함하는 것을 특징으로 한다.In addition, as another feature of the present invention, the main processor and the dependent processor is characterized in that each of the internal memory for storing the video data.

또한, 본 고안의 다른 특징으로서, 상기 주 프로세서는 상기 종속 프로세서의 개수에 의해 상기 비디오 데이터를 균등 분할하여 상기 종속 프로세서로 분배하는 것을 특징으로 한다.In addition, as another feature of the present invention, the main processor is characterized in that the video data is divided equally by the number of the subordinate processor to distribute to the subordinate processor.

또한, 본 고안의 다른 특징으로서, 상기 주 프로세서 및 종속 프로세서는 인터럽트 메시지를 교환하여 동기화되는 것을 특징으로 한다.In another aspect of the present invention, the main processor and the subordinate processor are synchronized by exchanging interrupt messages.

또한, 본 고안의 다른 특징으로서, 상기 비트 스트림은 재동기화 코드(ReSync Marker)를 포함하는 비디오 패킷으로 이루어지는 것을 특징으로 한다.In addition, as another feature of the present invention, the bit stream is characterized by consisting of a video packet including a resynchronization code (ReSync Marker).

또한, 본 고안의 다른 특징으로서, 상기 비디오 패킷은 VOP(Video Object Plane)의 매크로 블록 수와, 양자화 값과, HEC(Header Extension Code)와, 매크로 블록 데이터를 더 포함하는 것을 특징으로 한다.In another aspect of the present invention, the video packet further includes a macroblock number, a quantization value, a header extension code (HEC), and macroblock data of a video object plane (VOP).

또한, 본 고안의 다른 특징으로서, 상기 주 프로세서는 상기 호스트로부터 바이트(Byte) 단위로 상기 비디오 데이터를 가져오는 것을 특징으로 한다.In addition, as another feature of the present invention, the main processor is characterized in that for importing the video data in byte (Byte) unit from the host.

이하, 본 고안의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention will be described in detail.

도 2a는 본 고안에 의한 병렬처리 부호화기의 개략 구조도이고, 도 2b는 본 고안에 의한 병렬처리 부호화기의 데이터 처리에 관한 개략도이다.2A is a schematic structural diagram of a parallel processing encoder according to the present invention, and FIG. 2B is a schematic diagram of data processing of a parallel processing encoder according to the present invention.

본 고안에 의한 병렬처리 부호화기(1)는 다중 디지털 신호 프로세서(Multi Digital Signal Processor)를 사용하는 것으로서, 모두 4개인 디지털 신호 프로세서 DSP0(2) ~ DSP3(5)로 이루어지며, 각각의 프로세서에는 SDRAM으로 되는 각각의 내부 메모리(7 ~ 10)와, 상기 4개의 프로세서가 공통으로 사용하는 공유 메모리(6)가 연결된다.The parallel processing encoder 1 according to the present invention uses a multi digital signal processor, which is composed of four digital signal processors DSP0 (2) to DSP3 (5), each of which has an SDRAM. Each of the internal memories 7 to 10 and the shared memory 6 commonly used by the four processors are connected.

상기 4개의 프로세서 가운데, 주 프로세서인 DSP0(2)는 외부 PCI 버스(13)를 통하여 호스트(11)로부터 비디오 데이터를 가져와 이를 종속 프로세서인 DSP1(3) ~ DSP3(5)로 분배하고, 상기 종속 프로세서인 DSP1(3) ~ DSP3(5)가 생성해낸 비트 스트림을 병합하는 역할을 한다.Among the four processors, DSP0 (2), which is a main processor, takes video data from the host 11 through an external PCI bus 13, and distributes the video data to the slave processors, DSP1 (3) to DSP3 (5). It is responsible for merging the bit streams generated by the processors DSP1 (3) to DSP3 (5).

또한, 종속 프로세서인 DSP1(3) ~ DSP3(5)는 상호 독자적으로 전체 작업을 수행하며, 상기 주 프로세서인 DSP0(2)가 분배한 상기 비디오 데이터를 받아 이를 MPEG-4로 부호화하여 비트 스트림을 생성하고, DSP1(3) ~ DSP3(5) 상호간에 데이터를 교환한다.In addition, the dependent processors DSP1 (3) to DSP3 (5) perform their own tasks independently of each other, and receive the video data distributed by the main processor DSP0 (2) and encode it into MPEG-4 to decode the bit stream. And exchange data between the DSP1 (3) and the DSP3 (5).

먼저, DSP0(2)는 외부 PCI 버스(13)의 전체 밴드폭(Bandwidth)을 사용하여 호스트(11)로부터 로우(raw) 비디오 데이터를 가져와 이를 자신의 내부 메모리(7)에 로드한다.First, DSP0 (2) takes the raw video data from the host (11) using the full bandwidth of the external PCI bus (13) and loads it into its internal memory (7).

그러면, DSP1(3) ~ DSP3(5)는 DSP0(2)로부터 상기 비디오 데이터를 내부 PCI 버스(12)를 통하여 로드하여 자신의 내부 메모리(8 ~ 10)에 복사하고, 이를 바탕으로 동시에 독자적인 MPEG-4 부호화 과정을 수행하여 비트 스트림을 생성한 후, 상기 비트 스트림을 공유 메모리(6)에 각각 저장한다.Then, DSP1 (3) to DSP3 (5) load the video data from DSP0 (2) through the internal PCI bus 12 and copy it to its internal memory (8 to 10). After generating the bit stream by performing the -4 encoding process, the bit streams are stored in the shared memory 6, respectively.

이후, DSP0(2)는 상기 공유 메모리(6)에 저장되어있는 각각의 비트 스트림을 하나로 병합하여 최종의 비트 스트림을 만들어 낸다.DSP0 2 then merges each bit stream stored in the shared memory 6 into one to produce the final bit stream.

이와 같이 본 고안에 의한 병렬처리 부호화기(1)는 각각의 프로세서에 데이터를 분배하므로, 기본적으로 프로세서들간에 데이터 이동이 발생한다. 그런데, 외부 PCI 버스(13)의 속도는 현저하게 느려 이로 인한 병목현상을 방지하기위하여,상기와 같이 외부 PCI 버스(13)를 최소한으로 사용하여 일단 호스트(11)로부터 비디오 데이터를 DSP0(2)의 내부 메모리(7)로 복사해온 후에, 이를 분배하여 대부분의 연산을 각 프로세서의 내부 메모리(7 ~ 10)에서 수행하도록 한다. 이리하면, 각각의 프로세서가 외부 PCI 버스(13)를 통하여 데이터를 가져오는 것보다 속도가 4배 이상 증가하게 된다.Thus, since the parallel processing encoder 1 according to the present invention distributes data to each processor, data movement occurs basically between the processors. However, in order to prevent the bottleneck caused by the slow speed of the external PCI bus 13, the DSP0 (2) video data from the host 11 once using the external PCI bus 13 as a minimum as described above. After copying to the internal memory 7 of, the distribution is performed so that most operations are performed in the internal memory 7 to 10 of each processor. This increases the speed by four times as fast as each processor pulls data through the external PCI bus 13.

또한, 각 프로세서마다 할당되는 부하량을 동일하게 하여야 효율적인 병렬처리가 가능하므로, 본 고안에 의한 병렬처리 부호화기(1)에서는 실질적인 부호화 과정을 수행하는 프로세서가 DSP1(3) ~ DSP3(5)로 모두 3개임을 감안하여, 1 프레임을 프로세서의 갯수만큼인 3등분하여 처리한다.In addition, since the parallelism is possible only when the loads allocated to each processor are the same, in the parallel processing encoder 1 according to the present invention, the processors performing the actual encoding process are DSP1 (3) to DSP3 (5). In consideration of the game, one frame is divided into three parts, which is the number of processors.

도 3은 본 고안에 의한 병렬처리 부호화기에 있어서 동기화 코드가 지정된 비디오 패킷의 구성도이다.3 is a block diagram of a video packet to which a synchronization code is assigned in the parallel processing encoder according to the present invention.

MPEG-4의 부호화 과정에 의하면, 움직임 보상 예측 및 움직임 벡터의 생성과 관련하여 주변 블록을 참조하게 되어있다. 따라서, 본 고안과 같이 1 프레임을 3등분하여 병렬처리 할 경우, 시간적으로 동일한 시점에서 부호화가 시작되므로, 각 프로세서는 참조할 주변 블록의 데이터가 다른 프로세서에서 생성되기를 기다려야 하는 데이터 종속문제가 발생하게된다.According to the encoding process of MPEG-4, neighboring blocks are referred to with respect to motion compensation prediction and generation of motion vectors. Therefore, in the case of parallel processing by dividing one frame into three parts as in the present invention, since encoding is started at the same time point, each processor may cause a data dependency problem that requires waiting for data of neighboring blocks to be referred to from another processor. do.

이러한 문제를 해결하기 위하여, 본 고안에 의한 병렬처리 부호화기(1)에 있어서는 비디오 패킷(Video Packet: 15)은 재동기화 코드(ReSync Marker: 16)를 포함한다.In order to solve this problem, in the parallel processing encoder 1 according to the present invention, a video packet 15 includes a resynchronization code 16.

원래 MPEG-4에서 제공하는 재동기화 코드는 특정한 비트로 구성되어 있으며,비트 에러를 포함하는 비트 스트림을 복호화할 때 상기 재동기화 코드를 상기 비트 스트림 내부에 배치시켜서 구분하고, 그 뒤에 부호화 정보를 입력함으로써 자체만으로도 독자적인 처리가 가능하게 하여, 더이상의 비트 에러의 전파를 저지하고 화질의 열화를 최소한으로 억제하는 기능을 가진다.Originally, a resynchronization code provided by MPEG-4 is composed of specific bits, and when decoding a bit stream containing a bit error, the resynchronization code is placed within the bit stream to be distinguished, followed by inputting encoding information. Independent processing is possible by itself, and it has a function of preventing further propagation of bit error and minimizing deterioration of image quality.

본 고안에 의한 병렬처리 부호화기(1)에서는 이러한 재동기화 코드의 기능을 이용한다. 즉, 하나의 VOP(Video Object Plane: 14)에 대응하는 비트 스트림은 복수의 비디오 패킷(15)으로 분할되며, 상기 비디오 패킷(15)은 재동기화 코드(16)와, 상기 VOP의 현재 매크로 블록 수(17)와, 양자화 값(18)과, 추가적인 헤더(Header) 정보가 존재하는지를 나타내는 플래그 비트인 HEC(Header Extension Code: 19)와, 매크로 블록 데이터(20)로 이루어진다.The parallel processing encoder 1 according to the present invention utilizes the function of this resynchronization code. That is, a bit stream corresponding to one video object plane (VOP) 14 is divided into a plurality of video packets 15, and the video packet 15 includes a resynchronization code 16 and a current macro block of the VOP. It consists of a number 17, a quantization value 18, HEC (Header Extension Code) 19, which is a flag bit indicating whether additional header information exists, and macro block data 20.

따라서, 이 경우 부호화를 위해 필요한 VOP 정보들은 이미 각 비디오 패킷(15)에서 모두 가지고 있으므로, 상기 재동기화 코드(16)로 구분되어진 비디오 패킷(15)은 이전의 정보가 필요없이 독립적으로 처리를 할 수 있게 된다. 그리하여, 이를 이용하면, 하나의 프레임을 프로세서의 갯수만큼 여러 블록으로 등분하여 각 프로세서에서는 할당된 블록을 독립적으로 처리할 수 있게 된다. 아래 예를 들어 더욱 상세하게 설명한다.Therefore, in this case, since the VOP information necessary for encoding is already contained in each video packet 15, the video packet 15 divided by the resynchronization code 16 can be processed independently without the need for previous information. It becomes possible. Thus, by using this, one frame is divided into several blocks by the number of processors so that each processor can independently process allocated blocks. The following example will be described in more detail.

도 4a는 재동기화 코드를 사용하지 않은 비트 스트림의 예시도이고, 도 4b는 재동기화 코드를 사용한 비트 스트림의 예시도이다.4A is an exemplary diagram of a bit stream without using a resynchronization code, and FIG. 4B is an exemplary diagram of a bit stream using a resynchronization code.

각 프로세서에서 만든 비트 스트림을 하나의 비트 스트림으로 병합할 때, 재동기화 코드를 사용하지 않을 경우에는 DSP1(3) 및 DSP2(4)에서 생성된 비트 스트림은 아직 바이트(Byte)로 정렬되어 있지 않은 상태이어서, 결국 DSP0(2)가 공유 메모리(6)에 저장되어 있는 각 프로세서의 비트 스트림을 1비트씩 읽어와서 1비트씩 이동하여야 비로소 완전한 비트 스트림을 생성할 수가 있다.When merging bit streams created by each processor into one bit stream, the bit streams generated by DSP1 (3) and DSP2 (4) are not yet byte-aligned unless resynchronization code is used. As a result, DSP0 (2) must eventually read the bit stream of each processor stored in the shared memory 6 by one bit and move by one bit to generate the complete bit stream.

그러나, 재동기화 코드를 사용하는 경우에는 하나의 비디오 데이터가 3개의 바이트로 완전히 정렬된 비트 스트림으로 만들어진다. 따라서, 이 경우 DSP0(2)가 32비트 레지스터를 사용하여 호스트(11)로부터 비트 단위가 아닌 바이트 단위로 각 데이터를 가져와도 각 DSP1(3) ~ DSP3(5)는 완전한 비트 스트림을 만들 수 있게 된다.However, when using resynchronization code, one video data is made into a bit stream that is completely aligned with three bytes. Thus, in this case, even though DSP0 (2) uses 32-bit registers to get each data from the host 11 in bytes rather than bits, each DSP1 (3) to DSP3 (5) can create a complete bit stream. do.

만약 전체 1 프레임의 비트 스트림의 크기가 3K 비트라고 할 때, 재동기화 코드(16)를 사용하지 않는 경우에는 총 3×1,024회, 즉 총 3,072회의 비트연산이 수행되어야 하나, 재동기화 코드(16)를 사용하는 경우에는 DSP0(2)가 32비트 레지스터를 사용하여 호스트(11)로부터 바이트 단위로 각 데이터를 가져오게 되므로, 총 3×1,024/32회, 즉 총 96회로 바이트 단위의 연산이 가능하여 속도가 32배 만큼 현격하게 증가된다.If the size of the bit stream of one full frame is 3K bits, if the resynchronization code 16 is not used, a total of 3x1,024 bit operations, or 3,072 times, must be performed. ), DSP0 (2) uses 32-bit register to get each data from the host 11 in byte units, so a total of 3 × 1,024 / 32 times, or 96 circuit byte units, can be performed. The speed is increased by 32 times.

이하, 본 고안에 의한 병렬처리 부호화기의 병렬처리에 관하여 설명한다.Hereinafter, parallel processing of the parallel processing encoder according to the present invention will be described.

본 고안에 의한 병렬처리 부호화기(1)에 있어서, 각 종속 프로세서(3 ~ 5)는 분할된 비디오 데이터를 전달받아 각자 독립적으로 처리하지만, 각 종속 프로세서(3 ~ 5)에서 생성된 비트 스트림 간에는 일정한 순서가 존재하게 된다. 즉, 예를 들어, 패딩(Padding)을 통해서 복원된 영상을 만들 경우에는 각 종속 프로세서(3 ~ 5) 간에 데이터 이동이 발생하게 되므로, 데이터 간의 일정한 순서를맞추기 위한 동기화가 필요하다. 또한, 모든 프로세서(2 ~ 5)는 공유 메모리(6)를 공유하므로, 데이터 이동 시 각 프로세서(2 ~ 5)가 상호 충돌하지 않고 상기 공유 메모리(6)에 접근할 수 있도록 하기위해서도 동기화가 필요하다.In the parallel processing encoder 1 according to the present invention, each subordinate processor 3 to 5 receives divided video data and processes them independently, but the bit stream generated by each subordinate processor 3 to 5 is constant. The order exists. That is, for example, when a reconstructed image is made through padding, data movement occurs between the subordinate processors 3 to 5, and thus synchronization is required to match a certain order between data. In addition, since all processors 2 to 5 share the shared memory 6, synchronization is necessary to allow each processor 2 to 5 to access the shared memory 6 without colliding with each other during data movement. Do.

동기화 방법에는 세마포(Semaphore)를 사용한 폴링(Polling) 등이 있으나, 이는 내부 PCI 버스에서 병목현상을 발생시키므로, 본 고안에서는 각 프로세서(2 ~ 5) 간에 인터럽트(Interrupt)를 발생시키는 메시지를 사용한다.Synchronization methods include polling using semaphores, but since this causes a bottleneck in the internal PCI bus, the present invention uses a message that generates an interrupt between each processor (2 to 5). .

도 5는 본 고안에 의한 병렬처리 부호화기에 있어서 각 프로세서의 데이터 처리에 관한 개략 흐름도이다.5 is a schematic flowchart of data processing of each processor in the parallel processing encoder according to the present invention.

여기서는 본 고안에 의한 병렬처리 부호화기에 있어서 병렬처리를 개념적으로 설명하기 위하여 DSP0(2) ~ DSP3(5)란 용어 대신에 주 프로세서와 종속 프로세서란 용어를 사용한다.Here, in order to conceptually describe the parallel processing in the parallel processing encoder according to the present invention, the terms main processor and subordinate processor are used instead of the terms DSP0 (2) to DSP3 (5).

먼저, 주 프로세서인 DSP0(2)와 종속 프로세서인 DSP1(3) ~ DSP3(5)는 각자 초기화를 행한다(S101, S201). 이 때, 사용자는 부호화를 수행할 프레임의 범위를 미리 한정하여 병렬처리 부호화기의 부호화 수행작업의 범위를 정한다.First, DSP0 (2) which is a main processor and DSP1 (3) -DSP3 (5) which are dependent processors respectively perform initialization (S101, S201). At this time, the user defines a range of encoding operations of the parallel processing encoder by defining a range of frames to be encoded in advance.

그리고, 주 프로세서는 호스트(11)로부터 로우(Raw) 비디오 데이터를 로드하고(S102), 종속 프로세서는 비디오 데이터의 로드 완료 메시지를 대기한다(S202).The main processor loads raw video data from the host 11 (S102), and the slave processor waits for a load completion message of the video data (S202).

주 프로세서가 상기 비디오 데이터의 로드 완료 메시지를 외부 인터럽트로 종속 프로세서에 전달하면(S103), 종속 프로세서는 주 프로세서로부터 비디오 데이터를 로드하고(S203), 통상적인 MPEG-4 부호화 과정을 수행하여 비트 스트림을 생성하게 된다(S204). 이 때, 상기 MPEG-4 부호화 과정은 이산 코사인 변환과정, 양자화 과정, 역 양자화 과정, 역 이산 코사인 변환과정, 가변장 부호화과정, 움직임 추정 및 보상 과정 등을 포함한다.When the main processor delivers the load completion message of the video data to the subordinate processor as an external interrupt (S103), the subprocessor loads the video data from the main processor (S203) and performs a conventional MPEG-4 encoding process to perform a bit stream. To generate (S204). In this case, the MPEG-4 encoding process includes a discrete cosine transform process, a quantization process, an inverse quantization process, an inverse discrete cosine transform process, a variable length encoding process, a motion estimation and a compensation process, and the like.

이후, 주 프로세서는 다음에 부호화할 비디오 데이터를 호스트(11)로부터 로드하며(S104), 종속 프로세서로부터의 비트 스트림 저장 완료 메시지를 대기한다(S105). 이 때, 종속 프로세서는 생성된 상기 비트 스트림을 공유 메모리(6)에 저장하고, 주 프로세서에 비트 스트림 저장 완료 메시지를 전달한다(S205).Thereafter, the main processor loads video data to be encoded next from the host 11 (S104), and waits for a bit stream storage completion message from the slave processor (S105). At this time, the slave processor stores the generated bit stream in the shared memory 6 and transmits a bit stream storage completion message to the main processor (S205).

주 프로세서는 공유 메모리(6)로부터 각각의 비트 스트림을 로드하여(S106), 하나의 비트 스트림으로 병합하여 완성한다(S107). 한편, 종속 프로세서는 서로 필요한 데이터를 복사하여 교환한다(S206).The main processor loads each bit stream from the shared memory 6 (S106), merges it into one bit stream, and completes it (S107). Meanwhile, the slave processors copy and exchange data necessary for each other (S206).

그리고, 주 프로세서 및 종속 프로세서는 이미 로드해놓은 다음에 부호화할 비디오 데이터가 사용자가 미리 정한 부호화 수행 범위를 초과한 것인지를 조사한다(S108, S207). 즉, 이미 로드해놓은 다음에 부호화할 비디오 데이터가 부호화를 수행할 프레임의 범위 밖의 것인지를 조사하게 된다. 이 때, 초과하였다면 부호화 병렬처리는 종료하게되고, 아니라면 각각 원래의 루프로 돌아간다(S103, S202).Then, the main processor and the subordinate processor check whether the video data to be loaded after encoding has exceeded the encoding execution range predetermined by the user (S108 and S207). That is, it is checked whether the video data to be encoded after being loaded is outside the range of the frame to be encoded. At this time, if it exceeds, the encoding parallel processing ends, and if not, it returns to the original loop (S103, S202).

이하, 본 고안에 의한 병렬처리 부호화기에 있어서 병렬처리에 관하여 더욱 상세하게 설명한다.Hereinafter, the parallel processing in the parallel processing encoder according to the present invention will be described in more detail.

도 6은 본 고안에 의한 병렬처리 부호화기에 있어서 병렬처리에 관한 흐름도이다.6 is a flowchart of parallel processing in the parallel processing encoder according to the present invention.

먼저, 주 프로세서인 DSP0(2)는 호스트(11)에서 로우 비디오 데이터를 가져와 로드하고(S301), 비디오 데이터 로드 완료 메시지를 종속 프로세서인 DSP1(3)에 전달한다(S302).First, the main processor DSP0 (2) retrieves and loads raw video data from the host 11 (S301), and transmits a video data load completion message to the subordinate processor DSP1 (3) (S302).

DSP1(3)는 DSP0(2)로부터 메시지를 대기하고 있다가(S401), DSP0(2)로부터 상기 비디오 데이터 로드 완료 메시지를 전달받으면(S302), 할당된 비디오 데이터(전체 비디오 데이터의 1/3)를 DSP0(2)로부터 로드하고(S402), 비디오 데이터 로드 완료 메시지를 다음의 종속 프로세서인 DSP2(4)로 전달한다(S403). 그리고, MPEG-4의 부호화 처리과정을 수행하여 비트 스트림을 생성한다(S404).The DSP1 (3) waits for a message from the DSP0 (2) and receives the video data load completion message from the DSP0 (2) (S302), and the allocated video data (1/3 of the entire video data). ) Is loaded from DSP0 (2) (S402), and the video data load complete message is transferred to DSP2 (4), the next dependent processor (S403). In operation S404, a bit stream is generated by performing an encoding process of MPEG-4.

DSP2(4)는 DSP1(3)으로부터 메시지를 대기하고 있다가(S501), DSP1(3)으로부터 상기 비디오 데이터 로드 완료 메시지를 전달받으면(S403), 마찬가지로 할당된 비디오 데이터(전체 비디오 데이터의 1/3)를 DSP0(2)로부터 로드하고(S502), 비디오 데이터 로드 완료 메시지를 다음의 종속 프로세서인 DSP3(5)로 전달한다(S503). 그리고, MPEG-4의 부호화 처리과정을 수행하여 비트 스트림을 생성한다(S504).The DSP2 4 waits for a message from the DSP1 3 (S501), and receives the video data load completion message from the DSP1 3 (S403). Similarly, the allocated video data (1 / of all video data) is received. 3) is loaded from DSP0 (2) (S502), and the video data load completion message is transferred to DSP3 (5), the next dependent processor (S503). In operation S504, a bit stream is generated by performing an encoding process of MPEG-4.

DSP3(5) 역시 DSP2(4)로부터 메시지를 대기하고 있다가(S601), DSP2(4)로부터 상기 비디오 데이터 로드 완료 메시지를 전달받으면(S503), 마찬가지로 할당된 비디오 데이터(전체 비디오 데이터의 1/3)를 DSP0(2)로부터 로드하고(S602), 비디오 데이터 로드 완료 메시지를 DSP0(2)로 전달한다(S603). 그리고, MPEG-4의 부호화 처리과정을 수행하여 비트 스트림을 생성한다(S604).The DSP3 (5) also waits for a message from the DSP2 (4) and receives the video data load completion message from the DSP2 (4) (S503). Similarly, the allocated video data (1 / of the entire video data). 3) is loaded from DSP0 (2) (S602), and the video data load completion message is transferred to DSP0 (2) (S603). In operation S604, a bit stream is generated by performing an encoding process of MPEG-4.

DSP0(2)는 DSP3(5)로부터 메시지를 대기하고 있다가(S303), DSP3(5)로부터 상기 비디오 데이터 로드 완료 메시지를 전달받으면(S603), 부호화해야되는 다음 비디오 데이터를 호스트(11)로부터 로드한다(S304).The DSP0 (2) waits for a message from the DSP3 (5) (S303), and receives the video data load completion message from the DSP3 (5) (S603), and then receives the next video data to be encoded from the host (11). It is loaded (S304).

한편, DSP1(3)은 생성한 상기 비트 스트림을 공유 메모리(6)에 저장하고(S405), 비트 스트림 저장 완료 메시지를 DSP2(4)에 전달한다(S406).Meanwhile, the DSP1 3 stores the generated bit stream in the shared memory 6 (S405), and transmits a bit stream storage completion message to the DSP2 4 (S406).

DSP2(4)는 DSP1(3)으로부터 메시지를 대기하고 있다가(S505), DSP1(3)으로부터 상기 비트 스트림 저장 완료 메시지를 전달받으면(S406), 생성한 상기 비트 스트림을 공유 메모리(6)에 저장하고(S506), 비트 스트림 저장 완료 메시지를 DSP3(5)에 전달한다(S507).The DSP2 4 waits for a message from the DSP1 3 (S505), and when the bitstream storage completion message is received from the DSP1 3 (S406), the generated bit stream is transferred to the shared memory 6. In operation S506, the bitstream storage completion message is transmitted to the DSP3 5 (S507).

DSP3(5) 역시 DSP2(4)로부터 메시지를 대기하고 있다가(S605), DSP2(3)로부터 상기 비트 스트림 저장 완료 메시지를 전달받으면(S507), 생성한 상기 비트 스트림을 공유 메모리(6)에 저장하고(S606), 비트 스트림 저장 완료 메시지를 DSP0(2)에 전달한다(S607).The DSP3 (5) also waits for a message from the DSP2 (4) (S605). When the bitstream storage completion message is received from the DSP2 (3) (S507), the generated bit stream is transferred to the shared memory (6). In operation S606, the bit stream storage completion message is transmitted to the DSP0 2 (S607).

DSP0(3)는 DSP3(5)로부터 메시지를 대기하고 있다가(S305), DSP3(5)로부터 상기 비트 스트림 저장 완료 메시지를 전달받으면(S607), 공유 메모리(6)에 각각 저장된 DSP1(3) ~ DSP3(5)의 비트 스트림을 로드하고(S306 ~ S308), 이를 하나의 비트 스트림으로 병합하여 완성하여 내부 메모리(7)에 저장한다(S309).The DSP0 (3) waits for a message from the DSP3 (5) (S305), and receives the bit stream storage completion message from the DSP3 (5) (S607), respectively, the DSP1 (3) stored in the shared memory (6). The bit stream of the DSP3 (5) is loaded (S306 to S308), merged into one bit stream, and completed and stored in the internal memory 7 (S309).

또한, DSP1(3) ~ DSP3(5) 각각은 상기 과정에 이어서 객체(object) 경계부분의 텍스쳐 부호화를 위한 VOP 패딩(Padding)을 수행한다(S407, S508, S608).In addition, each of DSP1 (3) to DSP3 (5) performs VOP padding for texture coding of an object boundary portion (S407, S508, S608).

이 때, DSP2(4)는 도 4b에서 도시하는 바와 같이 한 프레임의 3등분된 할당블록 중 가운데 블록을 처리하게 되므로, 상부 블록을 처리하는 DSP1(3) 및 하부 블록을 처리하는 DSP3(5)와 모두 데이터 교환을 하게 된다.At this time, the DSP2 4 processes the middle block among the allocation blocks divided into three frames of one frame as shown in FIG. 4B, and therefore, DSP1 (3) processing the upper block and DSP3 (5) processing the lower block. And both will exchange data.

즉, DSP1(3)은 DSP2(4)에게 제공할 데이터를 공유 메모리(6)에 저장한후(S408), 데이터 저장 완료 메시지를 DSP2(4)에 전달한다(S409).That is, the DSP1 3 stores data to be provided to the DSP2 4 in the shared memory 6 (S408), and then transfers a data storage completion message to the DSP2 4 (S409).

DSP2(4)는 DSP1(3) 및 DSP3(5)에게 제공할 데이터를 공유 메모리(6)에 저장한 후(S509), 데이터 저장 완료 메시지를 DSP1(3) 및 DSP3(5)에 전달한다(S510).The DSP2 4 stores the data to be provided to the DSP1 3 and the DSP3 5 in the shared memory 6 (S509), and then transfers a data storage completion message to the DSP1 3 and the DSP3 5 ( S510).

DSP3(5)는 DSP2(4)에게 제공할 데이터를 공유 메모리(6)에 저장한 후(S609), 데이터 저장 완료 메시지를 DSP2(4)에 전달한다(S610).The DSP3 5 stores data to be provided to the DSP2 4 in the shared memory 6 (S609), and then transfers a data storage completion message to the DSP2 4 (S610).

DSP1(3)는 DSP2(4)로부터 메시지를 대기하고 있다가(S410), DSP2(4)로부터 상기 데이터 저장 완료 메시지를 전달받으면(S510), 공유 메모리(6)에서 상기 데이터를 로드하고(S411), DSP0(2)로부터의 다음 비디오 데이터 로드 완료 메시지를 대기한다(S401).The DSP1 3 waits for a message from the DSP2 4 (S410), and receives the data storage completion message from the DSP2 4 (S510), and loads the data from the shared memory 6 (S411). Wait for the next video data load completion message from DSP0 (2) (S401).

DSP2(4)는 DSP1(3) 및 DSP3(5)로부터 메시지를 대기하고 있다가(S511), DSP1(3) 및 DSP3(5)로부터 상기 데이터 저장 완료 메시지를 전달받으면(S409, S610), 공유 메모리(6)에서 상기 데이터를 로드하고(S512), DSP1(3)으로부터의 다음 비디오 데이터 로드 완료 메시지를 대기한다(S501).The DSP2 (4) waits for a message from the DSP1 (3) and the DSP3 (5) (S511), and receives the data storage completion message from the DSP1 (3) and the DSP3 (5) (S409, S610), sharing The data is loaded from the memory 6 (S512), and the next video data load completion message from the DSP1 (3) is waited for (S501).

DSP3(4) 역시 DSP2(4)로부터 메시지를 대기하고 있다가(S611), DSP2(4)로부터 데이터 저장 완료 메시지를 전달받으면(S510), 공유 메모리(6)에서 상기 데이터를 로드하고(S612), DSP2(4)로부터의 다음 비디오 데이터 로드 완료 메시지를 대기한다(S601).The DSP3 (4) also waits for a message from the DSP2 (4). When receiving the data storage completion message from the DSP2 (4) (S510), the data is loaded from the shared memory 6 (S612). Waits for the next video data load completion message from DSP2 (S601).

이상에서 설명한 바와 같이, 본 고안에 의한 병렬처리 부호화기는 다중 디지털 신호 프로세서를 사용하는 병렬처리 부호화기에 있어서 각 프로세서간의 데이터종속성을 제거함으로써, 각 프로세서가 대기로 인한 유휴 시간이나 과도한 데이터 이동으로 인한 병목현상이 없이 병렬처리가 가능하여 종래보다 효율적인 병렬처리가 가능해진다.As described above, the parallel processing encoder according to the present invention eliminates data dependency between processors in a parallel processing encoder using multiple digital signal processors, thereby causing each processor to become a bottleneck due to idle time due to standby or excessive data movement. Parallel processing is possible without a phenomenon, so that parallel processing is more efficient than before.

또한, 본 고안에 의한 병렬처리 부호화기는 부호화 처리과정을 통하여 생성한 비트 스트림에 대한 연산을 비트 단위가 아닌 바이트 단위로 구현함으로써 종래보다 훨씬 향상된 속도를 지니는 병렬처리가 가능하다.In addition, the parallel processing encoder according to the present invention implements operations on bit streams generated through encoding processing in byte units instead of bit units, thereby enabling parallel processing having a much improved speed than in the related art.

Claims (7)

다중 디지털 신호 프로세서를 사용하여 비디오 데이터의 부호화를 병렬처리하는 병렬처리 부호화기에 있어서,In the parallel processing encoder for parallel processing the encoding of video data using multiple digital signal processor, 호스트로부터 상기 비디오 데이터를 가져와 이를 복수의 종속 프로세서에 분배하고, 생성된 비트 스트림을 하나의 비트 스트림으로 병합하는 주 프로세서와,A main processor which takes the video data from the host and distributes the video data to a plurality of subordinate processors and merges the generated bit stream into one bit stream; 상기 분배된 비디오 데이터를 각자 독립적으로 동시에 부호화처리하여 상기 비트 스트림을 생성하며, 상호간에 데이터를 교환하는 복수의 종속 프로세서와,A plurality of subordinate processors for generating the bit stream by simultaneously encoding the distributed video data independently of each other and exchanging data with each other; 생성된 상기 비트 스트림을 저장하는 공유 메모리를 포함하여 이루어지는 것을 특징으로 하는 병렬처리 부호화기.And a shared memory for storing the generated bit stream. 제 1항에 있어서, 상기 주 프로세서 및 상기 종속 프로세서는 상기 비디오 데이터를 저장하는 내부 메모리를 각각 포함하는 것을 특징으로 하는 병렬처리 부호화기.The parallel processing encoder of claim 1, wherein the main processor and the subordinate processor each include an internal memory that stores the video data. 제 1항에 있어서, 상기 주 프로세서는 상기 종속 프로세서의 개수에 의해 상기 비디오 데이터를 균등 분할하여 상기 종속 프로세서로 분배하는 것을 특징으로 하는 병렬처리 부호화기.The parallel processing encoder of claim 1, wherein the main processor equally divides the video data by the number of the subordinate processors and distributes the video data to the subordinate processors. 제 1항 내지 제 3항 중 어느 하나의 항에 있어서, 상기 주 프로세서 및 종속프로세서는 인터럽트 메시지를 교환하여 동기화되는 것을 특징으로 하는 병렬처리 부호화기.4. The parallel processing encoder according to any one of claims 1 to 3, wherein the main processor and the subprocessor are synchronized by exchanging interrupt messages. 제 1항 내지 제 3항 중 어느 하나의 항에 있어서, 상기 비트 스트림은 재동기화 코드(ReSync Marker)를 포함하는 비디오 패킷으로 이루어지는 것을 특징으로 하는 병렬처리 부호화기.4. The parallel processing encoder according to any one of claims 1 to 3, wherein the bit stream is made of a video packet including a ReSync Marker. 제 5항에 있어서, 상기 비디오 패킷은 VOP(Video Object Plane)의 매크로 블록 수와, 양자화 값과, HEC(Header Extension Code)와, 매크로 블록 데이터를 더 포함하는 것을 특징으로 하는 병렬처리 부호화기.6. The parallel processing encoder of claim 5, wherein the video packet further includes a macroblock number of a video object plane (VOP), a quantization value, a header extension code (HEC), and macroblock data. 제 1항 내지 제 3항 중 어느 하나의 항에 있어서, 상기 주 프로세서는 상기 호스트로부터 바이트(Byte) 단위로 상기 비디오 데이터를 가져오는 것을 특징으로 하는 병렬처리 부호화기.4. The parallel processing encoder according to any one of claims 1 to 3, wherein the main processor obtains the video data from the host in units of bytes.
KR20-2004-0002339U 2004-01-31 2004-01-31 Parallel processing encoder KR200347625Y1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20-2004-0002339U KR200347625Y1 (en) 2004-01-31 2004-01-31 Parallel processing encoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20-2004-0002339U KR200347625Y1 (en) 2004-01-31 2004-01-31 Parallel processing encoder

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020040006453A Division KR20050078153A (en) 2004-01-31 2004-01-31 Parallel processing encoder and the method thereof

Publications (1)

Publication Number Publication Date
KR200347625Y1 true KR200347625Y1 (en) 2004-04-21

Family

ID=49345232

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20-2004-0002339U KR200347625Y1 (en) 2004-01-31 2004-01-31 Parallel processing encoder

Country Status (1)

Country Link
KR (1) KR200347625Y1 (en)

Similar Documents

Publication Publication Date Title
USRE48845E1 (en) Video decoding system supporting multiple standards
US9224187B2 (en) Wavefront order to scan order synchronization
US7403564B2 (en) System and method for multiple channel video transcoding
US6959348B1 (en) Method and system for accessing data
US8213511B2 (en) Video encoder software architecture for VLIW cores incorporating inter prediction and intra prediction
CN100562114C (en) Video encoding/decoding method and decoding device
US9336558B2 (en) Wavefront encoding with parallel bit stream encoding
US20090307464A1 (en) System and Method for Parallel Video Processing in Multicore Devices
US9161056B2 (en) Method for low memory footprint compressed video decoding
Jokhio et al. Analysis of video segmentation for spatial resolution reduction video transcoding
US6539059B1 (en) Apparatus and method for efficiently scalable digital video decoding
US20210383504A1 (en) Apparatus and method for efficient motion estimation
JP3544524B2 (en) Image processing device
KR20050078153A (en) Parallel processing encoder and the method thereof
KR200347625Y1 (en) Parallel processing encoder
EP1351512A2 (en) Video decoding system supporting multiple standards
US20130205090A1 (en) Multi-core processor having hierarchical communication architecture
US10298935B2 (en) Method of managing network bandwidth by control of image compression rate and frame generation and image transmission system using the same
Zhou et al. A frame-parallel 2 gpixel/s video decoder chip for uhdtv and 3-dtv/ftv applications
US20050119870A1 (en) Processor system with execution-reservable accelerator
US20090006665A1 (en) Modified Memory Architecture for CODECS With Multiple CPUs
US20090006037A1 (en) Accurate Benchmarking of CODECS With Multiple CPUs
US20090006664A1 (en) Linked DMA Transfers in Video CODECS
Chen et al. Localized Video Coding
KR20020095755A (en) Memory access apparatus and method for video codec

Legal Events

Date Code Title Description
U107 Dual application of utility model
REGI Registration of establishment
FPAY Annual fee payment

Payment date: 20070827

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee