구성 1-2
구성 1-3
나) 구성 1-4, 8-1, 8-2의 구체적 의미
다) 구성 1-4, 8-1, 8-2와 비교대상발명 4의 대비
[별지 1]
이 사건 특허발명
1. 특허청구범위
[청구항 1] 멀티미디어 데이터 병렬 처리 장치에 있어서, 외부로부터 멀티미디어 데이터를 입력받아 작업 제어수단으로 전달하고, 그에 따른 처리 결과를
상기 작업 제어수단으로부터 전달받음에 따라 외부로 전달하기 위한 입출력 제어수단; 상기 입출력 제어수단으로부터 전달받은 멀티미디어 데이터를 다수의프레임으로 분할하여 다수의 작업 처리수단에 하나씩 할당하여 계단식 파이프라인 방식으로 각각 병렬적으로 작업하도록 제어하고, 상기 다수의 작업 처리수단 중 특정의 작업 처리수단으로부터 그 처리 결과를 전달받음에 따라 상기 입출력 제어수단으로 전달하고 해당 작업 처리수단에 상기 멀티미디어 데이터를 이용하여 만든 프레임을 할당하는 과정을 반복 수행하기 위한 상기 작업 제어수단 및 상기 작업 제어수단의 제어에 따라 할당받은 멀티미디어 데이터의 프레임을 계단식 파이프라인 방식을 이용하여 병렬적으로 각각 처리하여 상기 작업 제어수단으로 각각 전달하기 위한 상기 다수의 작업 처리수단을 포함하되, 상기작업 처리수단 각각은, 상기 작업 제어수단으로부터 각각 할당받은 프레임을 계단식 파이프라인 방식을 이용하여 병렬적으로 처리하되, 데이터 종속성이 존재함에 따라 참조 프레임에 대한 처리 결과를 수시로 전달받아 해당 프레임에 대한 처리를 수행하여 상기 참조 프레임에 대한 처리가 완료되지 않은 상황에서 해당 프레임에 대한 처리를 시작하는 것을 특징으로 하는 계단식 파이프라인을 이용한 멀티미디어 데이터 병렬 처리 장치.
[청구항 2] 제1항에 있어서, 상기 작업 제어수단은, 상기 다수의 작업 처리수단에서 병렬적으로 처리되는 프레임들 중, 특정 프레임을 마스터 프레임으로 선택하고 그 외 다수의 프레임들을 슬레이브 프레임으로 선택하여 상기 마스터 프레임에 대한 처리가 완료됨에 따라 상기 슬레이브 프레임에 대한 처리를 일괄중지시켜 해당 처리 단계를 종료하고 상기 슬레이브 프레임에 대한 처리를 다음처리 단계로 지연시켜 각 처리 단계의 시작 및 종료를 제어하는 것을 특징으로 하는 계단식 파이프라인을 이용한 멀티미디어 데이터 병렬 처리 장치.
[청구항 3] 제2항에 있어서, 상기 작업 제어수단은, 상기 마스터 프레임에 대한 처리가 완료되더라도 소정 조건이 충족되는 경우에 해당 처리 단계를 종료하는 것을 특징으로 하는 계단식 파이프라인을 이용한 멀티미디어 데이터 병렬 처리 장치.
[청구항 4] 제3항에 있어서, 상기 소정 조건은, 아래의 (수학식 1)과 같은 것을 특징으로 하는 계단식 파이프라인을 이용한 멀티미디어 데이터 병렬 처리 장치.
(수학식 1)
x = a * (b - 1) / b
(x : 첫 번째 슬레이브 프레임에서 처리 완료된 총 매크로 블록 수, a : 첫 번
째 슬레이브 프레임의 총 매크로 블록 수, b : 총 메인 프로세서의 개수)
[청구항 5] 제2항에 있어서, 상기 작업 제어수단이 특정 프레임을 마스터 프레임으로 선택하는 과정은, 상기 입출력 제어수단으로부터 전달받은 멀티미디
어 데이터를 분할하여 생성한 프레임의 각 처리 순서에 따라 순차적으로 해당프레임을 마스터 프레임으로 선택하는 것을 특징으로 하는 계단식 파이프라인을 이용한 멀티미디어 데이터 병렬 처리 장치.
[청구항 8] 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 작업 처리수단 각각은, 상기 작업 제어수단으로부터 각각 할당받은 프레임에 대한 데이터 종속성여부를 검사하여 데이터 종속성이 존재함에 따라 참조 프레임에 대한 처리 결과를 상기 참조 프레임에 대한 처리를 수행하는 특정 데이터 처리수단으로부터 수시로 전달받아 해당 데이터 처리수단으로 전달하기 위한 데이터 종속성 검사수단 및 상기 해당 데이터 종속성 검사수단으로부터 상기 참조 프레임에 대한 처리 결과를 수시로 전달받음에 따라 해당 프레임에 대한 처리를 수행하기 위한 데이터 처리수단을 포함하는 것을 특징으로 하는 계단식 파이프라인을 이용한 멀티미디어 데이터 병렬 처리 장치
[청구항 6], [청구항 9] 내지 [청구항 16], [청구항 18] 내지 [청구항 20] 각기재 생략
[청구항 7], [청구항 17] 각 삭제
[별지 2]
비교대상발명들
1. 비교대상발명 3 (갑 제6호증)
가. 주요 내용
비교대상발명 3은 Ethernet으로 연결된 워크스테이션상에서 MPEG-1 비디오 인코딩의 효율적인 병렬화 방법(An Effective Parallelizing Scheme of
MPEG-1 Video Encoding on Ethernet-Connected Workstations)에 관한 발명이다. MPEG-1 비디오 인코딩은 주어진 GOP(Group of Picture) 형태에 따라 처리할 프레임의 종류를 결정하고, 그 프레임의 종류에 따라 그 프레임을 구성하는 각각의 매크로블록에 대하여 적당한 인코딩 알고리즘을 수행하도록 되어 있다(갑 제6호증 936면, 그림 2). MPEG 인코딩에서 이런 프레임들을 사용하는 GOP의 패턴에 따라 프레임 타입이 결정되는데, 이들 프레임들은 서로의 의존 관계에 따라 완전히 병렬로 수행되지는 못한다. 예를 들면, P-프레임은 이미 인코딩되어 있는 I-프레임을 참조 프레임으로 하여 인코딩하여야 하기 때문에 순차적인 인코딩을 하여야 한다 (갑 제6호증 936면 ~ 937면).
Coarse-grained 병렬성은 각 처리기가 한 프레임을 독립적으로 코딩하는것인데, 이는 <그림 2>에서 줄 3의 for 루프를 펼치는 것이다. 즉, 프레임 단위
로 슬레이브에게 할당하여 병렬적으로 인코딩하는 것이다. 그런데 슬레이브에게 할당한 프레임이 B 프레임이거나 P 프레임인 경우에는 인코딩하기 위하여서는 이전 프레임 혹은 이후 프레임에 대한 정보가 필요로 한다. 이것은 어떤 프레임을 인코딩하는 도중에 잦은 통신을 필요로 함을 의미하며, 이것은 상대적으로 통신을 초기화하는데 많은 오버헤드가 필요한 Ethernet 환경에서는 전체 성능에 많은 영향을 미칠 것이다(갑 제6호증 938면).
나. 주요 도면
2. 비교대상발명 4 (갑 제8호증)
가. 주요 내용
비교대상발명 4는 의존 행을 포함한 다수 행 비디오의 디코딩 시스템 및 방법(System and Method for Multi-Row Decoding of Video with Dependent
Rows)에 관한 발명이다. 비디오 디코딩 시스템(100)은 전반적으로 디코드 제어 프로세서(101)와 두 개 이상의 비디오 디코드 프로세서(103)로 구성되어 있다. 디코드 제어 프로세서 (101)는 비디오 디코드 프로세서(103)를 포함한 상기 시스템에서의 디코딩 기능을 관리하는 것으로서, 디코딩 시스템(100)의 중앙 제어 장치로 간주할 수 있다. 디코드 제어 프로세서(101)는 디코딩을 위한 입력 비디오 데이터를 준비할수 있고, 디코더 메모리(105)로부터 필요한 데이터를 가져올 수 있으며, 그 자체가 입력 비디오 데이터에 대한 몇 가지 데이터 처리를 수행할 수 있다. 일 실시예에서, 각 비디오 디코드 프로세서(103)는 디코드 제어 프로세서(101)의 제어 하에, 독립적으로 비디오 데이터의 매크로블록을 디코딩할 수 있다. 비디오 디코드 프로세서들(103)은 각각 예를 들어 입력 비디오 데이터의 개별 행에 대해서 병렬로 동작한다(갑 제8호증, 식별번호 [0022], [0023]). 도 2의 예에서, B(2,2)는 B(1,1), B(1,2), B(1,3), 및 B(2,1)에 종속성을 갖는다. 종속성이란 매크로블록이 의존하고 있는 다른 매크로블록들이 디코딩되기 전에는 그 매크로블록을 제대로 디코딩할 수 없다는 것을 의미한다(갑 제8호증, 식별번호 [0028]). 도 2의 예에서 B(2,2)의 디코딩은 그 선결자 B(1,1), B(1,2), B(1,3), 및 B(2,1)의 디코딩이 완결되지 않는 한 시작되지 않는다. 일단 이러한 조건이 만족되면 B(2,2)의 디코딩이 진행될 수 있는데, 이때 B(1,4), B(1,5) 등에 대한 디코딩을 병렬로 진행할 수 있다(갑 제8호증, 식별번호 [0029]). B(2,1)이 B(1,1)과 B(1,2)에만 의존한다고 가정하면(이는 B(2,1)이 그 행 내의 첫 번째 매크로블록인 경우의 전형적인 예임), B(2,1)의 디코딩은 B(1,1)과 B(1,2)가 디코딩되자마자 바로 시작할 수 있다(갑 제8호증, 식별번호 [0030]).프로세서[예를 들어, 도1의 비디오 디코드 프로세서들(103)]는 여러 가지 방법으로 선결 매크로블록의 완료에 관련된 통신을 할 수 있다. 하나의 예시적인실시예에서, 각 프로세서는 가장 최근에 디코딩된 매크로블록의 번호 및 가장최근에 시작된 매크로블록의 가장 최근에 완결된 파이프라인 단계를 지시하는 레지스터를 갖는다. 따라서 다른 프로세서들은 선결 매크로블록들 또는 이들의 선택된 단계가 언제 완결되었는지를 쉽게 확인할 수 있다(갑 제8호증, 식별번호[0034]).
나. 주요 도면
3. 비교대상발명 5 (갑 제9호증의 1, 2)
가. 주요 내용
비교대상발명 5는 하이퍼 스레딩 기술을 적용한 범용 프로세서에서의 H.264인코더의 구현(Implementation of H.264 Encoder on General-Purpose
Processors with Hyper-Threading Technology)에 관한 기술이다.그림 9에서 타임스탬프 17을 포함하는 줄이 나타내는 것은 Img1의 첫 번째 매크로블록이 Img0의 다른 여섯 개 매크로블록과 동시에 인코딩될 수 있다는것이다(갑 제9호증의 1, 390면 1단락 9~11행).
나. 주요 도면