KR20050078153A - 병렬처리 부호화기 및 그 방법 - Google Patents

병렬처리 부호화기 및 그 방법 Download PDF

Info

Publication number
KR20050078153A
KR20050078153A KR1020040006453A KR20040006453A KR20050078153A KR 20050078153 A KR20050078153 A KR 20050078153A KR 1020040006453 A KR1020040006453 A KR 1020040006453A KR 20040006453 A KR20040006453 A KR 20040006453A KR 20050078153 A KR20050078153 A KR 20050078153A
Authority
KR
South Korea
Prior art keywords
processor
subordinate
video data
parallel processing
main processor
Prior art date
Application number
KR1020040006453A
Other languages
English (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 KR1020040006453A priority Critical patent/KR20050078153A/ko
Publication of KR20050078153A publication Critical patent/KR20050078153A/ko

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16BDEVICES FOR FASTENING OR SECURING CONSTRUCTIONAL ELEMENTS OR MACHINE PARTS TOGETHER, e.g. NAILS, BOLTS, CIRCLIPS, CLAMPS, CLIPS OR WEDGES; JOINTS OR JOINTING
    • F16B43/00Washers or equivalent devices; Other devices for supporting bolt-heads or nuts
    • F16B43/001Washers or equivalent devices; Other devices for supporting bolt-heads or nuts for sealing or insulation
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04BGENERAL BUILDING CONSTRUCTIONS; WALLS, e.g. PARTITIONS; ROOFS; FLOORS; CEILINGS; INSULATION OR OTHER PROTECTION OF BUILDINGS
    • E04B1/00Constructions in general; Structures which are not restricted either to walls, e.g. partitions, or floors or ceilings or roofs
    • E04B1/38Connections for building structures in general
    • E04B1/41Connecting devices specially adapted for embedding in concrete or masonry
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16BDEVICES FOR FASTENING OR SECURING CONSTRUCTIONAL ELEMENTS OR MACHINE PARTS TOGETHER, e.g. NAILS, BOLTS, CIRCLIPS, CLAMPS, CLIPS OR WEDGES; JOINTS OR JOINTING
    • F16B13/00Dowels or other devices fastened in walls or the like by inserting them in holes made therein for that purpose
    • F16B13/12Separate metal or non-separate or non-metal dowel sleeves fastened by inserting the screw, nail or the like
    • F16B13/124Separate metal or non-separate or non-metal dowel sleeves fastened by inserting the screw, nail or the like fastened by inserting a threaded element, e.g. screw or bolt

Abstract

본 발명은 병렬처리 부호화기 및 그 방법에 관한 것으로서, 다중 디지털 신호 프로세서를 사용하는 병렬처리 부호화기에 있어서 각 프로세서간의 데이터 종속성을 제거하여 각 프로세서가 효율적이고 신속한 병렬처리가 가능한 병렬처리 부호화기 및 그 방법에 관한 것이다. 본 발명에서는 주 프로세서가 호스트로부터 비디오 데이터를 로드하고 이를 각 종속 프로세서에 분할하여 분배하면, 각 종속 프로세서는 상기 비디오 데이터를 부호화하여 비트 스트림을 생성하며, 주 프로세서는 상기 비트 스트림 각각을 하나의 비트 스트림으로 병합하여 완성한다.

Description

병렬처리 부호화기 및 그 방법 {PARALLEL PROCESSING ENCODER AND THE METHOD THEREOF}
본 발명은 병렬처리 부호화기 및 그 방법에 관한 것으로서, 상세하게는 다중 디지털 신호 프로세서를 사용하는 병렬처리 부호화기에 있어서 각 프로세서간의 데이터 종속성을 제거하여 각 프로세서가 효율적이고 신속한 병렬처리가 가능한 병렬처리 부호화기 및 그 방법에 관한 것이다.
최근 디지털 영상의 응용분야가 확대됨에 따라 MPEG-4 등 디지털화된 영상을 사용하는데 필요한 영상 압축 기술이 개발되어왔다.
그런데, MPEG-4의 부호화 과정에서는 움직임 보상 예측 및 상기 움직임 벡터의 생성과 관련하여 주변 블록을 참조하게 되는데, 이러한 과정으로 인하여 데이터가 종속성을 가지게 된다.
특히, MPEG-4의 부호화 과정을 병렬처리 하기 위하여 다중 디지털 신호 프로세서(Multi Digital Signal Processor)를 이용하여 수행할 경우, 각각의 프로세서에 전체 작업과정 중의 일부 작업만을 분담시키고 각 프로세서는 자신에게 분담된 작업만을 수행하는 방식이 사용되었다.
도 1은 종래 병렬처리 부호화기의 개략 구조도이다.
종래의 다중 디지털 신호 프로세서를 사용하는 병렬처리 부호화기(100)는 보통 4개의 프로세서인 DSP0(101) ~ DSP3(104)를 통하여 수행되며, 각각의 프로세서에는 다른 일정한 작업이 분담되어져서 동일한 시간에 중첩되어 수행되어진다.
즉, 병렬 처리에 있어서, DSP0(101)가 PCI 버스(105)를 통하여 호스트(미도시)로부터 소스 프레임을 가져온 후 이를 각각 DSP1(102)과 DSP2(103)로 분배하며, DSP1(102)은 상기 데이터 등으로부터 정수단위 움직임 추정과정을 통하여 움직임 벡터를 생성하고 이를 DSP2(103)로 전송한다.
DSP2(103)는 상기 움직임 벡터를 바탕으로 반화소 단위 움직임 추정과정 및 움직임 보상과정, 이산 코사인 변환과정, 그리고 양자화과정을 통하여 양자화 계수를 생성하고 이를 DSP3(104)로 전송하며, 재구성한 프레임을 DSP1(102)으로 전송한다.
DSP3(104)는 상기 양자화 계수를 바탕으로 가변길이장 과정을 수행하여 생성된 비트 스트림을 PCI 버스(105)를 통하여 다시 호스트(미도시)로 전송하게 된다.
그런데, 이와같은 종래의 병렬처리 부호화 방법에 의하면, 각 프로세서는 다른 프로세서의 처리결과를 참조하면서 순차적으로 수행되므로, 만일 각 프로세서에 걸린 작업 부하가 동일하지 않을 경우에는 각 프로세서에서는 부하량이 많은 프로세서의 처리결과를 기다리게 되어, 결국 이로 인하여 각 프로세서가 대기하게 되는 유휴 시간과, 각 프로세서 간의 대량의 I/O로 인한 병목현상이 발생하게 된다. 따라서 각 프로세서에서는 연산보다는 오히려 과도한 데이터의 이동과 메시지의 전달에 시간이 더 걸리게 되어 결국 처리율의 저하로 연결되는 문제가 있었다.
이에 본 발명은 상기와 같은 문제점을 해결하기 위해 창안된 것으로, 본 발명의 목적은 다중 디지털 신호 프로세서를 사용하는 병렬처리 부호화기에 있어서 각 프로세서간의 데이터 종속성을 제거함으로써 보다 효율적이고 신속한 병렬처리가 가능한 병렬처리 부호화기 및 그 방법을 제공하기 위한 것이다.
이와 같은 목적을 달성하기 위한 본 발명의 특징으로서, 본 발명에 의한 병렬처리 부호화기는, 다중 디지털 신호 프로세서를 사용하여 비디오 데이터의 부호화를 병렬처리하는 병렬처리 부호화기에 있어서, 호스트로부터 상기 비디오 데이터를 가져와 이를 복수의 종속 프로세서에 분배하고, 생성된 비트 스트림을 하나의 비트 스트림으로 병합하는 주 프로세서와; 상기 분배된 비디오 데이터를 각자 독립적으로 동시에 부호화처리하여 상기 비트 스트림을 생성하며, 상호간에 데이터를 교환하는 복수의 종속 프로세서와; 생성된 상기 비트 스트림을 저장하는 공유 메모리를 포함하여 이루어지는 것을 특징으로 한다.
또한, 본 발명의 다른 특징으로서, 상기 주 프로세서 및 상기 종속 프로세서는 상기 비디오 데이터를 저장하는 내부 메모리를 각각 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 특징으로서, 상기 주 프로세서는 상기 종속 프로세서의 개수에 의해 상기 비디오 데이터를 균등 분할하여 상기 종속 프로세서로 분배하는 것을 특징으로 한다.
또한, 본 발명의 다른 특징으로서, 상기 비트 스트림은 재동기화 코드(ReSync Marker)를 포함하는 비디오 패킷으로 이루어지는 것을 특징으로 한다.
또한, 본 발명의 다른 특징으로서, 상기 비디오 패킷은 VOP(Video Object Plane)의 매크로 블록 수와, 양자화 값과, HEC(Header Extension Code)와, 매크로 블록 데이터를 더 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 특징으로서, 상기 주 프로세서는 상기 호스트로부터 바이트(Byte) 단위로 상기 비디오 데이터를 가져오는 것을 특징으로 한다.
또한, 본 발명의 다른 특징으로서, 본 발명에 의한 병렬처리 부호화 방법은, 주 프로세서와 복수의 종속 프로세서로 이루어지는 다중 디지털 신호 프로세서를 사용하여 비디오 데이터의 부호화를 병렬처리하는 병렬처리 부호화 방법에 있어서, 주 프로세서 및 종속 프로세서를 초기화하는 단계와; 주 프로세서가 호스트로부터 비디오 데이터를 로드하는 단계와; 주 프로세서가 상기 비디오 데이터를 각 종속 프로세서에 분배하는 단계와; 각 종속 프로세서가 상기 비디오 데이터를 부호화하여 비트 스트림을 생성하고 이를 저장하는 단계와; 주 프로세서가 상기 비트 스트림 각각을 하나의 비트 스트림으로 병합하여 완성하는 단계를 포함하여 수행되는 것을 특징으로 한다.
또한, 본 발명의 다른 특징으로서, 상기 병렬처리 부호화 방법은 상기 주 프로세서 및 상기 종속 프로세서 간에 인터럽트 메시지를 상호 교환함으로써 동기화를 수행하는 것을 특징으로 한다.
또한, 본 발명의 다른 특징으로서, 상기 비디오 데이터는 상기 종속 프로세서의 개수에 의해 균등 분할되어 분배되는 것을 특징으로 한다.
또한, 본 발명의 다른 특징으로서, 본 발명에 의한 병렬처리 부호화 방법은,주 프로세서와 복수의 종속 프로세서로 이루어지는 다중 디지털 신호 프로세서를 사용하여 비디오 데이터의 부호화를 병렬처리하는 병렬처리 부호화 방법에 있어서, 주 프로세서 및 종속 프로세서 각각을 초기화하는 제 1단계와; 주 프로세서가 호스트로부터 상기 비디오 데이터를 로드하고, 종속 프로세서는 주 프로세서로부터의 메시지를 대기하는 제 2단계와; 주 프로세서가 비디오 데이터 로드 완료 메시지를 종속 프로세서에 전달하고, 종속 프로세서는 주 프로세서로부터 상기 비디오 데이터를 로드하는 제 3단계와; 주 프로세서는 다음에 부호화할 비디오 데이터를 호스트로부터 로드하고 종속 프로세서로부터의 메시지를 대기하며, 종속 프로세서는 부호화를 수행하고 비트 스트림을 생성하는 제 4단계와; 종속 프로세서가 상기 비트 스트림을 공유 메모리에 저장하고, 주 프로세서에 비트 스트림 저장 완료 메시지를 전달하는 제 5단계와; 주 프로세서가 상기 공유 메모리로부터 각각의 상기 비트 스트림을 로드하여 이를 하나의 비트 스트림으로 병합하여 완성하고, 종속 프로세서는 재구성한 데이터를 상호 교환하는 제 6단계를 포함하여 병렬처리되는 것을 특징으로 한다.
또한, 본 발명의 다른 특징으로서, 상기 제 3단계는 먼저 주 프로세서가 복수의 종속 프로세서 중 어느 하나의 종속 프로세서에 상기 비디오 데이터 로드 완료 메시지를 전달하는 단계와; 각 종속 프로세서가 전체 종속 프로세서의 개수만큼 균등 분할된 상기 비디오 데이터의 할당분을 상기 주 프로세서로부터 로드하고, 상기 비디오 데이터 로드 완료 메시지를 다음 종속 프로세서에게 전달하여 이를 순차적으로 반복 수행하고, 마지막 종속 프로세서는 주 프로세서에 상기 비디오 데이터 로드 완료 메시지를 전달하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 특징으로서, 상기 제 5단계는 각 종속 프로세서가 상기 비트 스트림을 공유 메모리에 저장하고, 상기 비트 스트림 저장 완료 메시지를 다음 종속 프로세서에게 전달하여 이를 순차적으로 반복 수행하며, 마지막 종속 프로세서는 종속 프로세서로부터 메시지를 대기하고 있는 주 프로세서에 상기 비트 스트림 저장 완료 메시지를 전달하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 특징으로서, 상기 제 6단계는 각 종속 프로세서가 VOP 패딩(Padding)을 수행하는 단계와; 각 종속 프로세서가 상대방 종속 프로세서에게 제공할 데이터를 공유 메모리에 저장하고, 상대방 종속 프로세서와 데이터 저장 완료 메시지를 교환하는 단계와; 각 종속 프로세서가 상기 공유 메모리로부터 상기 데이터를 로드하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 특징으로서, 상기 병렬처리 부호화 방법은 부호화를 수행할 프레임의 범위를 미리 정의하고, 다음에 부호화할 비디오 데이터가 상기 부호화를 수행할 프레임의 범위를 초과한 것인지를 조사하는 제 7단계를 더 포함하여, 만일 초과하였다면, 주 프로세서 및 종속 프로세서는 처리과정을 종료하고, 만일 초과하지 않았다면, 주 프로세서 및 종속 프로세서는 상기 제 3단계로 복귀하여 수행되는 것을 특징으로 한다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 본 발명이 하술하는 실시예는 본 발명의 전반적인 이해를 돕기 위하여 제공되는 것이며, 본 발명은 상기 실시예로만 한정되는 것은 아니다.
도 2a는 본 발명에 의한 병렬처리 부호화기의 개략 구조도이고, 도 2b는 본 발명에 의한 병렬처리 부호화기의 데이터 처리에 관한 개략도이다.
본 발명에 의한 병렬처리 부호화기(1)는 다중 디지털 신호 프로세서(Multi Digital Signal Processor)를 사용하는 것으로서, 모두 4개인 디지털 신호 프로세서 DSP0(2) ~ DSP3(5)로 이루어지며, 각각의 프로세서에는 SDRAM으로 되는 각각의 내부 메모리(7 ~ 10)와, 상기 4개의 프로세서가 공통으로 사용하는 공유 메모리(6)가 연결된다.
상기 4개의 프로세서 가운데, 주 프로세서인 DSP0(2)는 외부 PCI 버스(13)를 통하여 호스트(11)로부터 비디오 데이터를 가져와 이를 종속 프로세서인 DSP1(3) ~ DSP3(5)로 분배하고, 상기 종속 프로세서인 DSP1(3) ~ DSP3(5)가 생성해낸 비트 스트림을 병합하는 역할을 한다.
또한, 종속 프로세서인 DSP1(3) ~ DSP3(5)는 상호 독자적으로 전체 작업을 수행하며, 상기 주 프로세서인 DSP0(2)가 분배한 상기 비디오 데이터를 받아 이를 MPEG-4로 부호화하여 비트 스트림을 생성하고, DSP1(3) ~ DSP3(5) 상호간에 데이터를 교환한다.
먼저, DSP0(2)는 외부 PCI 버스(13)의 전체 밴드폭(Bandwidth)을 사용하여 호스트(11)로부터 로우(raw) 비디오 데이터를 가져와 이를 자신의 내부 메모리(7)에 로드한다.
그러면, DSP1(3) ~ DSP3(5)는 DSP0(2)로부터 상기 비디오 데이터를 내부 PCI 버스(12)를 통하여 로드하여 자신의 내부 메모리(8 ~ 10)에 복사하고, 이를 바탕으로 동시에 독자적인 MPEG-4 부호화 과정을 수행하여 비트 스트림을 생성한 후, 상기 비트 스트림을 공유 메모리(6)에 각각 저장한다.
이후, DSP0(2)는 상기 공유 메모리(6)에 저장되어있는 각각의 비트 스트림을 하나로 병합하여 최종의 비트 스트림을 만들어 낸다.
이와 같이 본 발명에 의한 병렬처리 부호화기(1)는 각각의 프로세서에 데이터를 분배하므로, 기본적으로 프로세서들간에 데이터 이동이 발생한다. 그런데, 외부 PCI 버스(13)의 속도는 현저하게 느려 이로 인한 병목현상을 방지하기위하여, 상기와 같이 외부 PCI 버스(13)를 최소한으로 사용하여 일단 호스트(11)로부터 비디오 데이터를 DSP0(2)의 내부 메모리(7)로 복사해온 후에, 이를 분배하여 대부분의 연산을 각 프로세서의 내부 메모리(7 ~ 10)에서 수행하도록 한다. 이리하면, 각각의 프로세서가 외부 PCI 버스(13)를 통하여 데이터를 가져오는 것보다 속도가 4배 이상 증가하게 된다.
또한, 각 프로세서마다 할당되는 부하량을 동일하게 하여야 효율적인 병렬처리가 가능하므로, 본 발명에 의한 병렬처리 부호화기(1)에서는 실질적인 부호화 과정을 수행하는 프로세서가 DSP1(3) ~ DSP3(5)로 모두 3개임을 감안하여, 1 프레임을 프로세서의 갯수만큼인 3등분하여 처리한다.
도 3은 본 발명에 의한 병렬처리 부호화기에 있어서 동기화 코드가 지정된 비디오 패킷의 구성도이다.
MPEG-4의 부호화 과정에 의하면, 움직임 보상 예측 및 움직임 벡터의 생성과 관련하여 주변 블록을 참조하게 되어있다. 따라서, 본 발명과 같이 1 프레임을 3등분하여 병렬처리 할 경우, 시간적으로 동일한 시점에서 부호화가 시작되므로, 각 프로세서는 참조할 주변 블록의 데이터가 다른 프로세서에서 생성되기를 기다려야 하는 데이터 종속문제가 발생하게된다.
이러한 문제를 해결하기 위하여, 본 발명에 의한 병렬처리 부호화기(1)에 있어서는 비디오 패킷(Video Packet: 15)은 재동기화 코드(ReSync Marker: 16)를 포함한다.
원래 MPEG-4에서 제공하는 재동기화 코드는 특정한 비트로 구성되어 있으며, 비트 에러를 포함하는 비트 스트림을 복호화할 때 상기 재동기화 코드를 상기 비트 스트림 내부에 배치시켜서 구분하고, 그 뒤에 부호화 정보를 입력함으로써 자체만으로도 독자적인 처리가 가능하게 하여, 더이상의 비트 에러의 전파를 저지하고 화질의 열화를 최소한으로 억제하는 기능을 가진다.
본 발명에 의한 병렬처리 부호화기(1)에서는 이러한 재동기화 코드의 기능을 이용한다. 즉, 하나의 VOP(Video Object Plane: 14)에 대응하는 비트 스트림은 복수의 비디오 패킷(15)으로 분할되며, 상기 비디오 패킷(15)은 재동기화 코드(16)와, 상기 VOP의 현재 매크로 블록 수(17)와, 양자화 값(18)과, 추가적인 헤더(Header) 정보가 존재하는지를 나타내는 플래그 비트인 HEC(Header Extension Code: 19)와, 매크로 블록 데이터(20)로 이루어진다.
따라서, 이 경우 부호화를 위해 필요한 VOP 정보들은 이미 각 비디오 패킷(15)에서 모두 가지고 있으므로, 상기 재동기화 코드(16)로 구분되어진 비디오 패킷(15)은 이전의 정보가 필요없이 독립적으로 처리를 할 수 있게 된다. 그리하여, 이를 이용하면, 하나의 프레임을 프로세서의 갯수만큼 여러 블록으로 등분하여 각 프로세서에서는 할당된 블록을 독립적으로 처리할 수 있게 된다. 아래 예를 들어 더욱 상세하게 설명한다.
도 4a는 재동기화 코드를 사용하지 않은 비트 스트림의 예시도이고, 도 4b는 재동기화 코드를 사용한 비트 스트림의 예시도이다.
각 프로세서에서 만든 비트 스트림을 하나의 비트 스트림으로 병합할 때, 재동기화 코드를 사용하지 않을 경우에는 DSP1(3) 및 DSP2(4)에서 생성된 비트 스트림은 아직 바이트(Byte)로 정렬되어 있지 않은 상태이어서, 결국 DSP0(2)가 공유 메모리(6)에 저장되어 있는 각 프로세서의 비트 스트림을 1비트씩 읽어와서 1비트씩 이동하여야 비로소 완전한 비트 스트림을 생성할 수가 있다.
그러나, 재동기화 코드를 사용하는 경우에는 하나의 비디오 데이터가 3개의 바이트로 완전히 정렬된 비트 스트림으로 만들어진다. 따라서, 이 경우 DSP0(2)가 32비트 레지스터를 사용하여 호스트(11)로부터 비트 단위가 아닌 바이트 단위로 각 데이터를 가져와도 각 DSP1(3) ~ DSP3(5)는 완전한 비트 스트림을 만들 수 있게 된다.
만약 전체 1 프레임의 비트 스트림의 크기가 3K 비트라고 할 때, 재동기화 코드(16)를 사용하지 않는 경우에는 총 3×1,024회, 즉 총 3,072회의 비트연산이 수행되어야 하나, 재동기화 코드(16)를 사용하는 경우에는 DSP0(2)가 32비트 레지스터를 사용하여 호스트(11)로부터 바이트 단위로 각 데이터를 가져오게 되므로, 총 3×1,024/32회, 즉 총 96회로 바이트 단위의 연산이 가능하여 속도가 32배 만큼 현격하게 증가된다.
이하, 본 발명에 의한 병렬처리 부호화기의 병렬처리방법에 관하여 설명한다.
본 발명에 의한 병렬처리 부호화기(1)에 있어서, 각 종속 프로세서(3 ~ 5)는 분할된 비디오 데이터를 전달받아 각자 독립적으로 처리하지만, 각 종속 프로세서(3 ~ 5)에서 생성된 비트 스트림 간에는 일정한 순서가 존재하게 된다. 즉, 예를 들어, 패딩(Padding)을 통해서 복원된 영상을 만들 경우에는 각 종속 프로세서(3 ~ 5) 간에 데이터 이동이 발생하게 되므로, 데이터 간의 일정한 순서를 맞추기 위한 동기화가 필요하다. 또한, 모든 프로세서(2 ~ 5)는 공유 메모리(6)를 공유하므로, 데이터 이동 시 각 프로세서(2 ~ 5)가 상호 충돌하지 않고 상기 공유 메모리(6)에 접근할 수 있도록 하기위해서도 동기화가 필요하다.
동기화 방법에는 세마포(Semaphore)를 사용한 폴링(Polling) 등이 있으나, 이는 내부 PCI 버스에서 병목현상을 발생시키므로, 본 발명에서는 각 프로세서(2 ~ 5) 간에 인터럽트(Interrupt)를 발생시키는 메시지를 사용한다.
도 5는 본 발명에 의한 병렬처리 부호화기에 있어서 각 프로세서의 데이터 처리에 관한 개략 흐름도이다.
여기서는 본 발명에 의한 병렬처리 부호화기에 있어서 병렬처리방법을 개념적으로 설명하기 위하여 DSP0(2) ~ DSP3(5)란 용어 대신에 주 프로세서와 종속 프로세서란 용어를 사용한다.
먼저, 주 프로세서인 DSP0(2)와 종속 프로세서인 DSP1(3) ~ DSP3(5)는 각자 초기화를 행한다(S101, S201). 이 때, 사용자는 부호화를 수행할 프레임의 범위를 미리 한정하여 병렬처리 부호화기의 부호화 수행작업의 범위를 정한다.
그리고, 주 프로세서는 호스트(11)로부터 로우(Raw) 비디오 데이터를 로드하고(S102), 종속 프로세서는 비디오 데이터의 로드 완료 메시지를 대기한다(S202).
주 프로세서가 상기 비디오 데이터의 로드 완료 메시지를 외부 인터럽트로 종속 프로세서에 전달하면(S103), 종속 프로세서는 주 프로세서로부터 비디오 데이터를 로드하고(S203), 통상적인 MPEG-4 부호화 과정을 수행하여 비트 스트림을 생성하게 된다(S204). 이 때, 상기 MPEG-4 부호화 과정은 이산 코사인 변환과정, 양자화 과정, 역 양자화 과정, 역 이산 코사인 변환과정, 가변장 부호화과정, 움직임 추정 및 보상 과정 등을 포함한다.
이후, 주 프로세서는 다음에 부호화할 비디오 데이터를 호스트(11)로부터 로드하며(S104), 종속 프로세서로부터의 비트 스트림 저장 완료 메시지를 대기한다(S105). 이 때, 종속 프로세서는 생성된 상기 비트 스트림을 공유 메모리(6)에 저장하고, 주 프로세서에 비트 스트림 저장 완료 메시지를 전달한다(S205).
주 프로세서는 공유 메모리(6)로부터 각각의 비트 스트림을 로드하여(S106), 하나의 비트 스트림으로 병합하여 완성한다(S107). 한편, 종속 프로세서는 서로 필요한 데이터를 복사하여 교환한다(S206).
그리고, 주 프로세서 및 종속 프로세서는 이미 로드해놓은 다음에 부호화할 비디오 데이터가 사용자가 미리 정한 부호화 수행 범위를 초과한 것인지를 조사한다(S108, S207). 즉, 이미 로드해놓은 다음에 부호화할 비디오 데이터가 부호화를 수행할 프레임의 범위 밖의 것인지를 조사하게 된다. 이 때, 초과하였다면 부호화 병렬처리는 종료하게되고, 아니라면 각각 원래의 루프로 돌아간다(S103, S202).
이하, 본 발명에 의한 병렬처리 부호화기에 있어서 병렬처리방법에 관하여 더욱 상세하게 설명한다.
도 6은 본 발명에 의한 병렬처리 부호화기에 있어서 병렬처리방법에 관한 흐름도이다.
먼저, 주 프로세서인 DSP0(2)는 호스트(11)에서 로우 비디오 데이터를 가져와 로드하고(S301), 비디오 데이터 로드 완료 메시지를 종속 프로세서인 DSP1(3)에 전달한다(S302).
DSP1(3)는 DSP0(2)로부터 메시지를 대기하고 있다가(S401), DSP0(2)로부터 상기 비디오 데이터 로드 완료 메시지를 전달받으면(S302), 할당된 비디오 데이터(전체 비디오 데이터의 1/3)를 DSP0(2)로부터 로드하고(S402), 비디오 데이터 로드 완료 메시지를 다음의 종속 프로세서인 DSP2(4)로 전달한다(S403). 그리고, MPEG-4의 부호화 처리과정을 수행하여 비트 스트림을 생성한다(S404).
DSP2(4)는 DSP1(3)으로부터 메시지를 대기하고 있다가(S501), DSP1(3)으로부터 상기 비디오 데이터 로드 완료 메시지를 전달받으면(S403), 마찬가지로 할당된 비디오 데이터(전체 비디오 데이터의 1/3)를 DSP0(2)로부터 로드하고(S502), 비디오 데이터 로드 완료 메시지를 다음의 종속 프로세서인 DSP3(5)로 전달한다(S503). 그리고, MPEG-4의 부호화 처리과정을 수행하여 비트 스트림을 생성한다(S504).
DSP3(5) 역시 DSP2(4)로부터 메시지를 대기하고 있다가(S601), DSP2(4)로부터 상기 비디오 데이터 로드 완료 메시지를 전달받으면(S503), 마찬가지로 할당된 비디오 데이터(전체 비디오 데이터의 1/3)를 DSP0(2)로부터 로드하고(S602), 비디오 데이터 로드 완료 메시지를 DSP0(2)로 전달한다(S603). 그리고, MPEG-4의 부호화 처리과정을 수행하여 비트 스트림을 생성한다(S604).
DSP0(2)는 DSP3(5)로부터 메시지를 대기하고 있다가(S303), DSP3(5)로부터 상기 비디오 데이터 로드 완료 메시지를 전달받으면(S603), 부호화해야되는 다음 비디오 데이터를 호스트(11)로부터 로드한다(S304).
한편, DSP1(3)은 생성한 상기 비트 스트림을 공유 메모리(6)에 저장하고(S405), 비트 스트림 저장 완료 메시지를 DSP2(4)에 전달한다(S406).
DSP2(4)는 DSP1(3)으로부터 메시지를 대기하고 있다가(S505), DSP1(3)으로부터 상기 비트 스트림 저장 완료 메시지를 전달받으면(S406), 생성한 상기 비트 스트림을 공유 메모리(6)에 저장하고(S506), 비트 스트림 저장 완료 메시지를 DSP3(5)에 전달한다(S507).
DSP3(5) 역시 DSP2(4)로부터 메시지를 대기하고 있다가(S605), DSP2(3)로부터 상기 비트 스트림 저장 완료 메시지를 전달받으면(S507), 생성한 상기 비트 스트림을 공유 메모리(6)에 저장하고(S606), 비트 스트림 저장 완료 메시지를 DSP0(2)에 전달한다(S607).
DSP0(3)는 DSP3(5)로부터 메시지를 대기하고 있다가(S305), DSP3(5)로부터 상기 비트 스트림 저장 완료 메시지를 전달받으면(S607), 공유 메모리(6)에 각각 저장된 DSP1(3) ~ DSP3(5)의 비트 스트림을 로드하고(S306 ~ S308), 이를 하나의 비트 스트림으로 병합하여 완성하여 내부 메모리(7)에 저장한다(S309).
또한, DSP1(3) ~ DSP3(5) 각각은 상기 과정에 이어서 객체(object) 경계부분의 텍스쳐 부호화를 위한 VOP 패딩(Padding)을 수행한다(S407, S508, S608).
이 때, DSP2(4)는 도 4b에서 도시하는 바와 같이 한 프레임의 3등분된 할당블록 중 가운데 블록을 처리하게 되므로, 상부 블록을 처리하는 DSP1(3) 및 하부 블록을 처리하는 DSP3(5)와 모두 데이터 교환을 하게 된다.
즉, DSP1(3)은 DSP2(4)에게 제공할 데이터를 공유 메모리(6)에 저장한 후(S408), 데이터 저장 완료 메시지를 DSP2(4)에 전달한다(S409).
DSP2(4)는 DSP1(3) 및 DSP3(5)에게 제공할 데이터를 공유 메모리(6)에 저장한 후(S509), 데이터 저장 완료 메시지를 DSP1(3) 및 DSP3(5)에 전달한다(S510).
DSP3(5)는 DSP2(4)에게 제공할 데이터를 공유 메모리(6)에 저장한 후(S609), 데이터 저장 완료 메시지를 DSP2(4)에 전달한다(S610).
DSP1(3)는 DSP2(4)로부터 메시지를 대기하고 있다가(S410), DSP2(4)로부터 상기 데이터 저장 완료 메시지를 전달받으면(S510), 공유 메모리(6)에서 상기 데이터를 로드하고(S411), DSP0(2)로부터의 다음 비디오 데이터 로드 완료 메시지를 대기한다(S401).
DSP2(4)는 DSP1(3) 및 DSP3(5)로부터 메시지를 대기하고 있다가(S511), DSP1(3) 및 DSP3(5)로부터 상기 데이터 저장 완료 메시지를 전달받으면(S409, S610), 공유 메모리(6)에서 상기 데이터를 로드하고(S512), DSP1(3)으로부터의 다음 비디오 데이터 로드 완료 메시지를 대기한다(S501).
DSP3(4) 역시 DSP2(4)로부터 메시지를 대기하고 있다가(S611), DSP2(4)로부터 데이터 저장 완료 메시지를 전달받으면(S510), 공유 메모리(6)에서 상기 데이터를 로드하고(S612), DSP2(4)로부터의 다음 비디오 데이터 로드 완료 메시지를 대기한다(S601).
이상에서 설명한 바와 같이, 본 발명에 의한 병렬처리 부호화기 및 그 방법은 다중 디지털 신호 프로세서를 사용하는 병렬처리 부호화기에 있어서 각 프로세서간의 데이터 종속성을 제거함으로써, 각 프로세서가 대기로 인한 유휴 시간이나 과도한 데이터 이동으로 인한 병목현상이 없이 병렬처리가 가능하여 종래보다 효율적인 병렬처리가 가능해진다.
또한, 본 발명에 의한 병렬처리 부호화기 및 그 방법은 부호화 처리과정을 통하여 생성한 비트 스트림에 대한 연산을 비트 단위가 아닌 바이트 단위로 구현함으로써 종래보다 훨씬 향상된 속도를 지니는 병렬처리가 가능하다.
아울러 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이며, 당업자라면 누구나 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가 등이 가능할 것이고, 이러한 수정, 변경 등은 특허청구범위에 속하는 것으로 보아야 한다.
도 1은 종래 병렬처리 부호화기의 개략 구조도.
도 2a는 본 발명에 의한 병렬처리 부호화기의 개략 구조도.
도 2b는 본 발명에 의한 병렬처리 부호화기의 데이터 처리에 관한 개략도.
도 3은 본 발명에 의한 병렬처리 부호화기에 있어서 동기화 코드가 지정된 비디오 패킷의 구성도.
도 4a는 재동기화 코드를 사용하지 않은 비트 스트림의 예시도.
도 4b는 재동기화 코드를 사용한 비트 스트림의 예시도.
도 5는 본 발명에 의한 병렬처리 부호화기에 있어서 각 프로세서의 데이터 처리에 관한 개략 흐름도.
도 6은 본 발명에 의한 병렬처리 부호화기에 있어서 병렬처리방법에 관한 흐름도.
*도면의 주요 부분에 대한 부호의 설명*
1: 병렬처리 부호화기 2: DSP0
3: DSP1 4: DSP2
5: DSP3 6: 공유 메모리
7 ~ 10: 내부 메모리 11: 호스트
12: 내부 PCI 버스 13: 외부 PCI 버스
14: VOP 15: 비디오 패킷
16: 재동기화 코드 17: 매크로 블록수
18: 양자화 값 19: HEC
20: 매크로 블록 데이터

Claims (14)

  1. 다중 디지털 신호 프로세서를 사용하여 비디오 데이터의 부호화를 병렬처리하는 병렬처리 부호화기에 있어서,
    호스트로부터 상기 비디오 데이터를 가져와 이를 복수의 종속 프로세서에 분배하고, 생성된 비트 스트림을 하나의 비트 스트림으로 병합하는 주 프로세서와,
    상기 분배된 비디오 데이터를 각자 독립적으로 동시에 부호화처리하여 상기 비트 스트림을 생성하며, 상호간에 데이터를 교환하는 복수의 종속 프로세서와,
    생성된 상기 비트 스트림을 저장하는 공유 메모리를 포함하여 이루어지는 것을 특징으로 하는 병렬처리 부호화기.
  2. 제 1항에 있어서, 상기 주 프로세서 및 상기 종속 프로세서는 상기 비디오 데이터를 저장하는 내부 메모리를 각각 포함하는 것을 특징으로 하는 병렬처리 부호화기.
  3. 제 1항에 있어서, 상기 주 프로세서는 상기 종속 프로세서의 개수에 의해 상기 비디오 데이터를 균등 분할하여 상기 종속 프로세서로 분배하는 것을 특징으로 하는 병렬처리 부호화기.
  4. 제 1항 내지 제 3항 중 어느 하나의 항에 있어서, 상기 비트 스트림은 재동기화 코드(ReSync Marker)를 포함하는 비디오 패킷으로 이루어지는 것을 특징으로 하는 병렬처리 부호화기.
  5. 제 4항에 있어서, 상기 비디오 패킷은 VOP(Video Object Plane)의 매크로 블록 수와, 양자화 값과, HEC(Header Extension Code)와, 매크로 블록 데이터를 더 포함하는 것을 특징으로 하는 병렬처리 부호화기.
  6. 제 1항 내지 제 3항 중 어느 하나의 항에 있어서, 상기 주 프로세서는 상기 호스트로부터 바이트(Byte) 단위로 상기 비디오 데이터를 가져오는 것을 특징으로 하는 병렬처리 부호화기.
  7. 주 프로세서와 복수의 종속 프로세서로 이루어지는 다중 디지털 신호 프로세서를 사용하여 비디오 데이터의 부호화를 병렬처리하는 병렬처리 부호화 방법에 있어서,
    주 프로세서 및 종속 프로세서를 초기화하는 단계와,
    주 프로세서가 호스트로부터 비디오 데이터를 로드하는 단계와,
    주 프로세서가 상기 비디오 데이터를 각 종속 프로세서에 분배하는 단계와,
    각 종속 프로세서가 상기 비디오 데이터를 부호화하여 비트 스트림을 생성하고 이를 저장하는 단계와,
    주 프로세서가 상기 비트 스트림 각각을 하나의 비트 스트림으로 병합하여 완성하는 단계를 포함하여 수행되는 것을 특징으로 하는 병렬처리 부호화 방법.
  8. 제 7항에 있어서, 상기 병렬처리 부호화 방법은 상기 주 프로세서 및 상기 종속 프로세서 간에 인터럽트 메시지를 상호 교환함으로써 동기화를 수행하는 것을 특징으로 하는 병렬처리 부호화 방법.
  9. 제 7항에 있어서, 상기 비디오 데이터는 상기 종속 프로세서의 개수에 의해 균등 분할되어 분배되는 것을 특징으로 하는 병렬처리 부호화 방법.
  10. 주 프로세서와 복수의 종속 프로세서로 이루어지는 다중 디지털 신호 프로세서를 사용하여 비디오 데이터의 부호화를 병렬처리하는 병렬처리 부호화 방법에 있어서,
    주 프로세서 및 종속 프로세서 각각을 초기화하는 제 1단계와,
    주 프로세서가 호스트로부터 상기 비디오 데이터를 로드하고, 종속 프로세서는 주 프로세서로부터의 메시지를 대기하는 제 2단계와,
    주 프로세서가 비디오 데이터 로드 완료 메시지를 종속 프로세서에 전달하고, 종속 프로세서는 주 프로세서로부터 상기 비디오 데이터를 로드하는 제 3단계와,
    주 프로세서는 다음에 부호화할 비디오 데이터를 호스트로부터 로드하고 종속 프로세서로부터의 메시지를 대기하며, 종속 프로세서는 부호화를 수행하고 비트 스트림을 생성하는 제 4단계와,
    종속 프로세서가 상기 비트 스트림을 공유 메모리에 저장하고, 주 프로세서에 비트 스트림 저장 완료 메시지를 전달하는 제 5단계와,
    주 프로세서가 상기 공유 메모리로부터 각각의 상기 비트 스트림을 로드하여 이를 하나의 비트 스트림으로 병합하여 완성하고, 종속 프로세서는 재구성한 데이터를 상호 교환하는 제 6단계를 포함하여 병렬처리하는 것을 특징으로 하는 병렬처리 부호화 방법.
  11. 제 10항에 있어서, 상기 제 3단계는,
    먼저 주 프로세서가 복수의 종속 프로세서 중 어느 하나의 종속 프로세서에 상기 비디오 데이터 로드 완료 메시지를 전달하는 단계와,
    각 종속 프로세서가 전체 종속 프로세서의 개수만큼 균등 분할된 상기 비디오 데이터의 할당분을 상기 주 프로세서로부터 로드하고, 상기 비디오 데이터 로드 완료 메시지를 다음 종속 프로세서에게 전달하여 이를 순차적으로 반복 수행하며, 마지막 종속 프로세서는 주 프로세서에 상기 비디오 데이터 로드 완료 메시지를 전달하는 단계를 포함하는 것을 특징으로 하는 병렬처리 부호화 방법.
  12. 제 10항에 있어서, 상기 제 5단계는,
    각 종속 프로세서가 상기 비트 스트림을 공유 메모리에 저장하고, 상기 비트 스트림 저장 완료 메시지를 다음 종속 프로세서에게 전달하여 이를 순차적으로 반복 수행하며, 마지막 종속 프로세서는 종속 프로세서로부터 메시지를 대기하고 있는 주 프로세서에 상기 비트 스트림 저장 완료 메시지를 전달하는 단계를 포함하는 것을 특징으로 하는 병렬처리 부호화 방법.
  13. 제 10항에 있어서, 상기 제 6단계는,
    각 종속 프로세서가 VOP 패딩(Padding)을 수행하는 단계와,
    각 종속 프로세서가 상대방 종속 프로세서에게 제공할 데이터를 공유 메모리에 저장하고, 상대방 종속 프로세서와 데이터 저장 완료 메시지를 교환하는 단계와,
    각 종속 프로세서가 상기 공유 메모리로부터 상기 데이터를 로드하는 단계를 포함하는 것을 특징으로 하는 병렬처리 부호화 방법.
  14. 제 10항에 있어서, 상기 병렬처리 부호화 방법은 부호화를 수행할 프레임의 범위를 미리 정의하고, 다음에 부호화할 비디오 데이터가 상기 부호화를 수행할 프레임의 범위를 초과한 것인지를 조사하는 제 7단계를 더 포함하여,
    만일 초과하였다면, 주 프로세서 및 종속 프로세서는 처리과정을 종료하고, 만일 초과하지 않았다면, 주 프로세서 및 종속 프로세서는 상기 제 3단계로 복귀하여 수행되는 것을 특징으로 하는 병렬처리 부호화 방법.
KR1020040006453A 2004-01-31 2004-01-31 병렬처리 부호화기 및 그 방법 KR20050078153A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040006453A KR20050078153A (ko) 2004-01-31 2004-01-31 병렬처리 부호화기 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040006453A KR20050078153A (ko) 2004-01-31 2004-01-31 병렬처리 부호화기 및 그 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR20-2004-0002339U Division KR200347625Y1 (ko) 2004-01-31 2004-01-31 병렬처리 부호화기

Publications (1)

Publication Number Publication Date
KR20050078153A true KR20050078153A (ko) 2005-08-04

Family

ID=37265408

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040006453A KR20050078153A (ko) 2004-01-31 2004-01-31 병렬처리 부호화기 및 그 방법

Country Status (1)

Country Link
KR (1) KR20050078153A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100939917B1 (ko) * 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
WO2013100694A1 (ko) * 2011-12-29 2013-07-04 엘지전자 주식회사 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치
US8576911B2 (en) 2007-06-21 2013-11-05 Samsung Electronics Co., Ltd. Method and apparatus for motion estimation
US8675739B2 (en) 2007-12-17 2014-03-18 Samsung Electronics Co., Ltd. Method and apparatus for video decoding based on a multi-core processor
KR101475029B1 (ko) * 2013-09-27 2014-12-31 주식회사 포딕스시스템 윈도우 오에스(os) 기반의 디브이알(dvr) 시스템에서 메모리 프로세스 분산기술을 이용한 멀티채널 엔코딩 장치

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8576911B2 (en) 2007-06-21 2013-11-05 Samsung Electronics Co., Ltd. Method and apparatus for motion estimation
US8675739B2 (en) 2007-12-17 2014-03-18 Samsung Electronics Co., Ltd. Method and apparatus for video decoding based on a multi-core processor
US10244254B2 (en) 2008-03-07 2019-03-26 Sk Planet Co., Ltd. Encoding system using motion estimation and encoding method using motion estimation
US10412409B2 (en) 2008-03-07 2019-09-10 Sk Planet Co., Ltd. Encoding system using motion estimation and encoding method using motion estimation
US10341679B2 (en) 2008-03-07 2019-07-02 Sk Planet Co., Ltd. Encoding system using motion estimation and encoding method using motion estimation
KR100939917B1 (ko) * 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
US10334271B2 (en) 2008-03-07 2019-06-25 Sk Planet Co., Ltd. Encoding system using motion estimation and encoding method using motion estimation
KR20140110876A (ko) * 2011-12-29 2014-09-17 엘지전자 주식회사 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치
US10742985B2 (en) 2011-12-29 2020-08-11 Lg Electronics Inc. Video encoding and decoding method based on entry point information in a slice header, and apparatus using same
US11711549B2 (en) 2011-12-29 2023-07-25 Lg Electronics Inc. Video encoding and decoding method based on entry point information in a slice header, and apparatus using same
CN104041031A (zh) * 2011-12-29 2014-09-10 Lg电子株式会社 视频编码和解码方法和使用该方法的装置
US10356414B2 (en) 2011-12-29 2019-07-16 Lg Electronics Inc. Video encoding and decoding method and apparatus using same
WO2013100694A1 (ko) * 2011-12-29 2013-07-04 엘지전자 주식회사 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치
KR20200013793A (ko) * 2011-12-29 2020-02-07 엘지전자 주식회사 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치
US9883185B2 (en) 2011-12-29 2018-01-30 Lg Electronics Inc. Method for encoding and decoding image based on entry point in bitstream and apparatus using same
KR20200110472A (ko) * 2011-12-29 2020-09-23 엘지전자 주식회사 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치
KR20210041102A (ko) * 2011-12-29 2021-04-14 엘지전자 주식회사 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치
KR20210144943A (ko) * 2011-12-29 2021-11-30 엘지전자 주식회사 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치
US11240506B2 (en) 2011-12-29 2022-02-01 Lg Electronics Inc. Video encoding and decoding method based on entry point information in a slice header, and apparatus using same
KR20220038184A (ko) * 2011-12-29 2022-03-25 엘지전자 주식회사 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치
KR20220095257A (ko) * 2011-12-29 2022-07-06 엘지전자 주식회사 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치
KR20230025037A (ko) * 2011-12-29 2023-02-21 엘지전자 주식회사 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치
KR101475029B1 (ko) * 2013-09-27 2014-12-31 주식회사 포딕스시스템 윈도우 오에스(os) 기반의 디브이알(dvr) 시스템에서 메모리 프로세스 분산기술을 이용한 멀티채널 엔코딩 장치

Similar Documents

Publication Publication Date Title
USRE48845E1 (en) Video decoding system supporting multiple standards
US7403564B2 (en) System and method for multiple channel video transcoding
US9224187B2 (en) Wavefront order to scan order synchronization
US6959348B1 (en) Method and system for accessing data
US7079147B2 (en) System and method for cooperative operation of a processor and coprocessor
US8213511B2 (en) Video encoder software architecture for VLIW cores incorporating inter prediction and intra prediction
US9336558B2 (en) Wavefront encoding with parallel bit stream encoding
US20050262276A1 (en) Design method for implementing high memory algorithm on low internal memory processor using a direct memory access (DMA) engine
US9161056B2 (en) Method for low memory footprint compressed video decoding
US6539059B1 (en) Apparatus and method for efficiently scalable digital video decoding
US20240037700A1 (en) Apparatus and method for efficient motion estimation
US10757430B2 (en) Method of operating decoder using multiple channels to reduce memory usage and method of operating application processor including the decoder
JP3544524B2 (ja) 画像処理装置
KR20050078153A (ko) 병렬처리 부호화기 및 그 방법
KR200347625Y1 (ko) 병렬처리 부호화기
EP1351512A2 (en) Video decoding system supporting multiple standards
Lehtoranta et al. Parallel implementation of video encoder on quad DSP system
US20130205090A1 (en) Multi-core processor having hierarchical communication architecture
US20050119870A1 (en) Processor system with execution-reservable accelerator
US20090006037A1 (en) Accurate Benchmarking of CODECS With Multiple CPUs
US20090006665A1 (en) Modified Memory Architecture for CODECS With Multiple CPUs
Golston et al. C64x VelociTI. 2 extensions support media-rich broadband infrastructure and image analysis systems
US20090006664A1 (en) Linked DMA Transfers in Video CODECS
Zhou et al. A frame-parallel 2 gpixel/s video decoder chip for uhdtv and 3-dtv/ftv applications
Sarkar et al. Parallel implementation of Mpeg-2 video decoder

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination