KR20160115680A - 처리 장치 및 처리 장치의 제어 방법 - Google Patents

처리 장치 및 처리 장치의 제어 방법 Download PDF

Info

Publication number
KR20160115680A
KR20160115680A KR1020160001450A KR20160001450A KR20160115680A KR 20160115680 A KR20160115680 A KR 20160115680A KR 1020160001450 A KR1020160001450 A KR 1020160001450A KR 20160001450 A KR20160001450 A KR 20160001450A KR 20160115680 A KR20160115680 A KR 20160115680A
Authority
KR
South Korea
Prior art keywords
processing
codec
processing units
ring
bus
Prior art date
Application number
KR1020160001450A
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 르네사스 일렉트로닉스 가부시키가이샤
Publication of KR20160115680A publication Critical patent/KR20160115680A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/46Receiver circuitry for the reception of television signals according to analogue transmission standards for receiving on more than one standard at will

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Discrete Mathematics (AREA)

Abstract

[과제] 다른 처리 유닛의 데이터가 원인으로 버스 트래픽이 증가한다는 점.
[해결 수단] 복수의 처리 유닛(401-0~401-M)의 각각에 대응하고, 처리 유닛 간에 데이터를 전송하는 복수의 전송 모듈(402-0~402-M)을 마련한다. 그리고, 복수의 처리 유닛(401-0~401-M)마다, 처리 유닛 내의 서브 유닛과, 처리 유닛에 대응해서 마련된 전송 모듈을 제1 링 버스(403-0~403-M)에 의해서 링 형상으로 접속한다. 또한, 복수의 전송 모듈(402-0~402-M)을 제2 링 버스(404)에 의해서 링 형상으로 접속한다.

Description

처리 장치 및 처리 장치의 제어 방법{PROCESSING APPARATUS AND CONTROL METHOD THEREOF}
본 발명은, 처리 장치에 관한 것으로, 예를 들면, 복수의 처리 유닛을 구비한 처리 장치에 바람직하게 이용할 수 있는 것이다.
처리 장치의 처리 성능을 향상시키는 방법의 하나로 병렬 처리가 있다. 처리 장치에 있어서, 병렬 처리를 실현하는 경우, 예를 들어, 병렬 처리가 가능한 복수의 처리 유닛을 마련한다(예를 들면, 특허문헌 1, 2 참조). 이하, 특허 문헌 1, 2에 기재된 기술을 설명한다.
먼저, 특허문헌 1에 기재의 기술에 대해서, 도 14를 참조하여 설명한다. 도 14는, 특허문헌 1의 도 1에 도시된 구성에 상당하는 동화상 처리 장치의 블록 구성예를 나타내는 도면이다.
도 14에 나타낸 동화상 처리 장치는, Codec_EL_0 601-0 및 Codec_EL_1 601-1이라는 2개의 동화상 처리 유닛을 구비한다. Codec_EL_0 601-0 및 Codec_EL_1 6 01-1은, 복수의 기능 서브 유닛을 포함한다. 도 14에서는, 기능 서브 유닛으로서, 가변 길이 처리부(VLC:Variable Length Coding)(6010)와, 주파수 변환부(TRF:Transform)(6011)와, 움직임 보상 처리부(MC:Motion Compensation)(6012)가 포함된다. Codec_EL_0 601-0 및 Codec_EL_1 601-1은, 복수의 기능 서브 유닛의 각각에 접속되는 복수의 입출력 인터페이스(IO:Input-Output)(605)를 더 포함한다. Codec_EL_0 601-0 및 Codec_EL_1 601-1은, 입출력 인터페이스(605)를 통해서, 동일한 링버스에 의하여 링 모양으로 접속된다. Codec_EL_0 601-0의 말단의 입출력 인터페이스(605)는, Codec_EL_1 601-1의 선단의 입출력 인터페이스(605)에 접속된다. 또한, 도 14에 나타내는 동화상 처리 장치는 LM(Line Memory)(602)와, DMAC(Direct Memory Access Controller)(603)과, Mem_Cnt(604)를 더 구비한다. DMAC(603)는, Codec_EL_0 601-0 및 Codec_EL_1 601-1에 비트 스트림을 전송하는 다이렉트 메모리 억세스 제어기이다. Mem_Cnt(604)는, Codec_EL_0 601-0 및 Codec_EL_1 601-1에 매크로 블록(MB:Macro Block) 데이터를 공급하는 제어기이다. LM(602)는, Codec_EL_0 601-0에 의한 처리 결과 등을 격납하는 라인 메모리이다.
다음으로, 특허문헌 2에 기재된 기술에 대해서 도 15를 참조하여 설명한다. 도 15는, 특허문헌 2의 도 2에 나타낸 구성에 상당하는 병렬 처리 장치의 블록 구성예를 나타내는 도면이다. 도 15에 나타내는 병렬 처리 장치는, 복수의 처리 수단(PE:Processing Element)(700)을 링 모양으로 접속한 파이프 라인형 링 버스(701)를 1개의 층으로 하고, 이 층을 복수층 더 구비한다. 도 15에 나타내는 병렬 처리 장치는, 또한 각층의 제1열의 PE(700)와의 사이에 패킷의 수수를 행하는 패킷 제어 장치(703)를 더 구비한다. 각층의 제2열 ~ 제4열의 각 PE(700)는, 하나 아래 층의 PE(700)와, 링 버스(702)에 의해서 차례대로 접속되고, 자기층의 상층의 PE(700)의 출력을 자기층의 파이프 라인형 링 버스(701)에 도입하는 기능을 갖는다. 이와 같이, 각층을 순차적으로 접속함으로써, 패킷 제어 장치(703)를 통하지 않고, 어느 파이프 라인형 링 버스(701)에서 다른 파이프 라인형 링 버스(701)로 패킷이 흐른다. 이에 의하여, 패킷 제어 장치(703)의 부담이 경감된다. 또한, 어느 층의 제1열의 PE(700)의 큐가 붐비고 있는 경우, 다른 층에서 패킷을 흐르게 하는 것도 가능하게 된다. 예를 들면, 패킷 제어 장치(703)는, PE(3,4)에 패킷을 흐르게 하는 경우, PE(3,1), PE(3,2), PE(3,3), PE(3,4)의 굵은 선 화살표의 경로로 패킷을 흐르게 할 수 있다. 또한, 패킷 제어 장치(703)는, PE(3,1)의 큐가 붐비고 있는 경우는, PE(1,1), PE(1,2), PE(2,2), PE(2,3), PE(3,3), PE(3,4)의 굵은 선 화살표의 경로로 패킷을 흘리는 것도 가능하다.
[특허문헌 1] 일본 특개 2008-42571호 공보 [특허문헌 2] 일본 특개평 5-181817호 공보
그러나, 특허문헌 1, 2에 기재된 기술에서는 아래의 과제가 있다.
먼저, 특허문헌 1에 기재된 기술의 과제에 대해서 도 14를 참조하여 설명한다. 도 14에 나타내는 동화상 처리 장치는, Codec_EL_0 601-0와 Codec_EL_1 601-1이 동일한 링 버스에 의하여 링 형상으로 연결되어 있다. 그래서, 예를 들면, Codec_EL_0 601-0 내의 기능 서브 유닛이, Codec_EL_1 601-1을 넘어, Codec_EL_0 601-0의 다른 기능 서브 유닛에 데이터를 전송하는 경우, 전송 경로가 길어진다고 하는 문제가 있다. 예를 들어, Codec_EL_0 601-0 내의 TRF(6011)가, 같은 Codec_EL_0 601-0 내의 VLC(6010)에 데이터를 전송하는 경우를 생각할 수 있다. 이 경우, 데이터는, Codec_EL_1 601-1 및 LM(602)를 통과하여야 하므로, 전송 경로가 길어진다. 또한, 이 경우, Codec_EL_1 601-1에는, Codec_EL_0 601-0의 데이터가 흐르게 된다. 따라서, 다른 Codec_EL_0 601-0 데이터가 원인이 되어, Codec_EL_1 601-1의 버스 트래픽이 증가된다는 문제가 있다.
다음으로, 특허문헌 2에 기재된 기술의 과제에 대해서 도 15를 참조하여 설명한다. 도 15에 나타내는 병렬 처리 장치는, 복수의 PE(700)를 링 형상으로 접속한 파이프 라인형 링버스(701)를 하나의 층으로 하고, 이 층을 복수층 구비하고 있다. 이와 같이, 파이프 라인형 링버스(701)를 복수층 마련하는 것이, 특허문헌 1에 기재된 기술의 문제였다, 링버스의 전송 경로가 길어진다고 하는 문제의 대책은 도모되고 있었다. 그러나 파이프 라인형 링버스(701) 상에는, 자기층의 PE(700) 앞으로는 없는 패킷이 흐르게 되어버린다. 그러므로, 다른 층의 패킷이 원인이 되어 버스 트래픽이 증가한다는, 특허문헌 1에 기재된 기술의 문제는 해결되지 못한 채 있다.
이하에서는, 상기 과제를 포함하는 복수의 과제 중 적어도 1개의 해결에 기여하는 것이 가능한, 복수의 실시 형태가 설명된다. 상기 과제는, 본 명세서에 개시되는 실시 형태가 달성하려는 복수의 과제의 1개에 불과하다는 것에 유의해야 한다. 기타 과제와 신규한 특징은, 본 명세서의 기재 및 첨부 도면에 의하여 명확하게 될 것이다.
일 실시의 형태에 따르면, 처리 장치에 있어서, 복수의 처리 유닛의 각각에 대응하고, 처리 유닛 간에 데이터를 전송하는 복수의 전송 모듈을 설치한다. 그리고, 복수의 처리 유닛마다, 처리 유닛 내의 서브 유닛과, 처리 유닛에 대응해서 마련된 전송 모듈을 제1의 링 버스에 의해 링 형상으로 접속한다. 또한, 복수의 전송 모듈을 제2의 링 버스에 의해 링 형상에 접속한다.
상기 일 실시의 형태에 따르면, 상기 과제의 해결에 공헌할 수 있다.
도 1은 실시 형태 1의 동화상 부호화 복호 장치의 블록 구성예를 나타내는 도면이다.
도 2는 실시 형태 1의 동화상 부호화 복호 장치의 병렬 처리의 예를 나타내는 도면이다.
도 3은 실시 형태 1의 동화상 처리 유닛 내의 기능 서브 유닛의 예를 나타내는 도면이다.
도 4는 종래기술에서, 동일한 동화상 처리 유닛 내의 기능 서브 유닛 사이에서 데이터를 전송하는 경우의 전송 경로의 예를 나타내는 도면이다.
도 5는 실시 형태 1에서, 동일한 동화상 처리 유닛 내의 기능 서브 유닛 사이에서 데이터를 전송하는 경우의 전송 경로의 예를 나타내는 도면이다.
도 6은 실시 형태 1에서, 다른 동화상 처리 유닛 내의 기능 서브 유닛 사이에서 데이터를 전송하는 경우의 전송 경로의 예를 나타내는 도면이다.
도 7은 실시 형태 1의 동화상 부호화 복호 장치의 변형예의 블록 구성예를 나타내는 도면이다.
도 8은 실시 형태 2의 동화상 부호화 복호 장치의 블록 구성예를 나타내는 도면이다.
도 9는 실시 형태 2의 동화상 부호화 복호 장치의 변형예의 블록 구성예를 나타내는 도면이다.
도 10은 실시 형태 2의 동화상 부호화 복호 장치의 변형예에서의 고장 검출 처리의 예를 나타내는 도면이다.
도 11은 실시 형태 2의 동화상 부호화 복호 장치의 변형예에서의 고장 검출 처리의 예를 나타내는 도면이다.
도 12는 실시 형태 3의 코어 프로세서의 블록 구성예를 나타내는 도면이다.
도 13은 실시 형태 1~3을 개념적으로 나타낸 처리 장치의 블록 구성예를 나타내는 도면이다.
도 14는 특허문헌 1의 구성에 상당하는 동화상 처리 장치의 블록 구성예를 나타내는 도면이다.
도 15는 특허문헌 2의 구성에 상당하는 병렬 처리 장치의 블록 구성예를 나타내는 도면이다.
아래에서는, 구체적인 실시 형태에 대해서, 도면을 참조하면서 상세히 설명한다. 설명의 명확화를 위하여, 아래의 기재 및 도면은 적절히 생략 및 간략화가 이루어지고 있다. 또한, 다양한 처리를 행하는 기능 블록으로서 도면에 기재되는 각 요소는, 하드웨어적으로는, CPU, 메모리, 기타 회로로 구성할 수 있으며, 소프트웨어적으로는, 메모리에 로드된 프로그램 등에 의해서 실현된다. 그러므로, 이들 기능 블록이 하드웨어만, 소프트웨어만, 또는 그것들의 조합에 의해 여러 가지 형태로 실현될 수 있는 것은 당업자에게 있어서는 이해되는 바이며, 어느 하나에 한정되는 것은 아니다. 또한, 각 도면에 있어서, 동일한 요소에는 동일한 부호를 붙이고 있으며, 필요에 따라, 중복 설명은 생략하고 있다.
(1) 실시 형태 1
(1-1) 실시 형태 1의 구성
본 실시 형태는, 처리 장치가 동화상 부호화 복호화 장치인 경우의 예이다. 이 동화상 부호화 복호 장치는, 처리 유닛으로서의 동화상 처리 유닛을 복수 구비한다.
도 1은, 본 실시 형태의 동화상 부호화 복호 장치의 블록 구성예를 나타내는 도면이다. 본 실시 형태의 동화상 부호화 복호 장치는, Codec_EL_0 101-0 및 Codec_EL_1 101-1이라는 2개의 동화상 처리 유닛을 구비한다. 또한, 동화상 처리 유닛의 개수는 복수이어도 되며, 도 1과 같이, 2개로는 한정되지 않는다.
도 2는, 본 실시 형태의 동화상 부호화 복호 장치의 병렬 처리의 예를 나타내는 도면이다. 본 실시 형태의 동화상 부호화 복호 장치는, 예를 들어, 도 2에 나타내는 바와 같이, 부호화 대상 화상(200)의 부호화 처리 및 복호 처리를 한다. 이 때, 부호화 대상 화상(200)을 X(X는 1 이상의 자연수)+1개의 병렬 처리 영역 0 ~ X으로 분할하고, Codec_EL_0 101-0 및 Codec_EL_1 101-1이 각 병렬 처리 영역 0 ~ X를 병렬로 처리한다. 예를 들면, Codec_EL_0 101-0은, 0번째의 병렬 처리 영역 0, 2번째의 병렬 처리 영역 2라고 하는 짝수 번째의 병렬 처리 영역을 순차 처리하는 것을 생각할 수 있다. 한편, Codec_EL_1 101-1은, 첫 번째의 병렬 처리 영역 1, 3번째의 병렬 처리 영역 3이라고 하는 홀수 번째의 병렬 처리 영역을 순차 처리하는 것을 생각할 수 있다. 도 2에서는, H.265와 같은 규격을 상정하고, 코딩 트리 블록(CTB:Coding Tree Block)(201)의 라인 단위로 병렬 처리 영역으로 분할하고 있다, 그러나, 병렬 처리 영역의 분할 방법은 한정되지 않는다. 예를 들어, H.264와 같은 규격에서는 매크로 블록(MB)의 라인 단위로 병렬 처리 영역으로 분할하는 것도 생각할 수 있다. 또한, 각 병렬 처리 영역 0 ~ X에서는, CTB(201)의 단위로, 처리 방향(202)에 따라서 부호화 처리 및 복호 처리가 이루어진다.
도 3은, Codec_EL_0 101-0 내의 기능 서브 유닛의 예를 나타내는 도면이다. Codec_EL_0 101-0은, 도 3에 나타내는 것과 같은, 복수의 기능 서브 유닛을 포함한다. 도 3의 예에서는, 기능 서브 유닛으로서, 도 14와 마찬가지로, 가변 길이 처리부(VLC)(1010), 움직임 보상 처리부(MC)(1013) 및 주파수 변환부(TRF)(1014)를 포함한다. 도 3의 예에서는 기능 서브 유닛으로서, 정수 화소 정도(精度) 움직임 예측 처리부(CME: Coarse Motion Estimation)(1011), 소수 화소 정도 움직임 예측 처리부(FME: Fine Motion Estimation)(1012) 및 디블로킹 필터 처리부(DEB: DEBlocking)(1015)을 더 포함한다. 또한, Codec_EL_0 101-0은, 복수의 기능 서브 유닛의 각각에 접속되는 복수의 입출력 인터페이스(IO)(113)를 더 포함하고, 복수의 입출력 인터페이스(113)는 제1의 링 버스(111-0)에 의해 링 형상으로 접속된다. 또한, Codec_EL_1 101-1도, 도 3과 같은 구성인 것으로 한다.
도 1로 되돌아가면, 본 실시 형태의 동화상 부호화 복호 장치는, Codec_EL_0 101-0에 대응하여, Ctrl_0 103-0, Mem_Cnt_0 102-0, LMC(Line Memory Controller)(105) 및 DMAC_0 104-0를 더 구비한다. 또한, 본 실시 형태의 동화상 부호화 복호 장치는, Codec_EL_1 101-1에 대응하여, Ctrl_1 103-1, Mem_Cnt_1 102-1, LCB(Line Control Block)(106) 및 DMAC_1 104-1을 더 구비한다. 또한, 본 실시 형태의 동화상 부호화 복호 장치는, Line MEM(107), Ctrl_Cmn(108), 마스터 버스(109), 버스(110)를 더 구비한다.
Mem_Cnt_0 102-0은, Codec_EL_0 101-0에 공급하는 동화상 데이터를 저장하는 동화상 메모리(도시하지 않음)에 있어서 동화상 데이터의 읽기와 쓰기를 제어하는 제어기이다. Mem_Cnt_1 102-1은, Codec_EL_1 101-1에 공급하는 동화상 데이터를 저장하는 동화상 메모리(도시하지 않음)에 있어서 동화상 데이터의 읽기와 쓰기를 제어하는 제어기이다. Line MEM(107)은, Codec_EL_0 101-0 및 Codec_EL_1 101-1에 의한 처리 결과 등을 저장하는 라인 메모리(Line Memory)이며, RAM(Random Access Memory) 등으로 구성된다. LMC(105)는, Line MEM(107)에서의 처리 결과 등의 읽기 쓰기를 제어하는 모듈이다. 예를 들어, LMC(105)은, Codec_EL_0 101-0에 의한 처리 결과를 Line MEM(107)에 기록한다. 또한, LMC(105)는, LCB(106)으로부터 Codec_EL_1 101-1에 의한 처리 결과를 수신하고, Line MEM(107)에 기록한다. 또한, LMC(105)는 Line MEM(107)로부터 Codec_EL_0 101-0에 의한 처리 결과를 읽어내고, LCB(106)에 전송한다. 또한, LMC(105)는, Line MEM(107)로부터 Codec_EL_1 101-1에 의한 처리 결과를 읽어내고, Codec_EL_0 101-0에 전송한다. LCB(106)은, Codec_EL_1 101-1의 데이터를 Codec_EL_0 101-0의 LMC(105)에 전송하는 모듈이다. 예를 들어, LCB(106)은, Codec_EL_1 101-1에 의한 처리 결과를 LMC(105)에 전송한다. 또한, LCB(106)은, LMC(105)로부터 Codec_EL_0 101-0에 의한 처리 결과를 수신하여, Codec_EL_1 101-1에 전송한다. DMAC_0 104-0은, Mem_Cnt_0 102-0 및 Codec_EL_0 101-0 등의 마스터 버스(109)에 대한 버스(IF)로 되는 제어기이다. DMAC_1 104-1은, Mem_Cnt_1 1 02-1 및 Codec_EL_1 101-1 등의 마스터 버스(109)에 대한 버스(IF)로 되는 제어기이다. Ctrl_0 103-0은, Codec_EL_0 1 01-0, Mem_Cnt_0 102-0, LMC(105), DMAC_0 104-0 등의 동작을 제어하는 제어기이다. Ctrl_1 103-1은, Codec_ EL_1 101-1, Mem_Cnt_1 102-1, LCB(106), DMAC_1 104-1 등의 동작을 제어하는 제어기이다. Ctrl_Cmn(108)은, Codec_EL_0 101-0 및 Codec_EL_1 101-1의 전체의 제어를 하는 제어기이다. 마스터 버스(109)는, DMAC_0 104-0 및 DMAC_1 104-1이 접속되는 버스이다. 버스(110)는, Ctrl_0 103-0 및 Ctrl_1 103-1에 레지스터 설정을 하는 버스이다. 마스터 버스(109) 및 버스(110)는, 동일한 버스이어도 상관 없다. 또한, 도 1에서는, DMAC_0 104-0 및 DMAC_1 104-1은, 동일한 마스터 버스(109)에 접속되어 있으나, 각기 다른 버스에 접속되는 것과 같은 구성이어도 상관 없다.
본 실시 형태의 동화상 부호화 복호 장치에서는, Ctrl_0 103-0, Mem_Cnt_0 102-0, Codec_EL_0 101-0 내의 기능 서브 유닛, LMC(105) 및 DMAC_0 104-0은, 제1의 링 버스(111-0)에 의해 링 형상으로 접속되어 있다. 또한, 마찬가지로, Ctrl_1 103-1, Mem_Cnt_1 102-1, Codec_EL_1 101-1 내의 기능 서브 유닛, LCB(106) 및 DMAC_1 104-1은, 제1 링 버스(111-1)에 의해 링 형상으로 접속되고 있다. 제1 링 버스(111-0, 111-1)는, 전송 방향이 서로 반대의 우회전 및 좌회전인 2개의 링 버스로 구성되는, 양 방향 링 버스이다. 또한, LCB(106) 및 LMC(105)는, 제1 링 버스(111-0, 111-1)와는 별개의 링 버스인, 제2 링 버스(112)에 의해 링 형상으로 접속되어 있다.
또한, 본 실시 형태에서는, Codec_EL_0 101-0 및 Codec_EL_1 101-1에 복수의 기능 서브 유닛이 포함되는 예를 도시하였지만, 반드시 이와 같은 계층 구조를 취할 필요는 없다. 또한, 기능 서브 유닛은, 도 3에 한정되는 것이 아니라, 동화상의 부호화 처리 및 복호 처리를 하는 기능을 실현하는 것이면, 기능 서브 유닛의 개수, 종류는 상관없다. 또한, Ctrl_m(m=0,1) 103-m, Mem_Cnt_m 102-m, Codec_EL_m 101-m 내의 기능 서브 유닛, LMC(105){또는 LCB(106)} 및 DMAC_m 104-m은, 본 실시 형태와 다른 접속 순서이어도 상관없고, 동화상의 부호화 처리 및 복호 처리를 하는 기능을 실현하는 것이면, 다른 모듈로 구성되더라도 상관없다.
(1-2) 실시 형태 1의 동작
이하, 본 실시 형태의 동화상 부호화 복호 장치의 전송 경로를, 종래 기술의 동화상 부호화 복호 장치의 전송 경로와 대비해서 설명한다.
도 4는, 종래 기술의 동화상 부호화 복호 장치에 있어서, 동일한 Codec_EL 내의 기능 서브 유닛 사이에서 데이터를 전송하는 경우의 전송 경로의 예를 나타내는 도면이다. 도 4에 나타내는 종래 기술의 동화상 부호화 복호 장치는, 특허문헌 1에 기재된 기술과 같이, Codec_EL_0 101-0와 Codec_EL_1 101-1이 동일한 링 버스에 의해서 링 형상으로 접속되어 있다는 점에서, 본 실시 형태와 다르다. 또한, 도 4에서, Codec_EL_1 101-1에는, 0번째의 Sub_Unit_10 1016으로부터 N(N은 1 이상의 자연수)번째의 Sub_Unit_1N 1017까지의 N+1개의 기능 서브 유닛이 포함된다. 여기에서, 예를 들면, Codec_EL_1 101-1 내의 Sub_Unit_1N 1017로부터, 같은 Codec_EL_1 101-1의 Sub_Unit_10 1016으로 데이터를 전송하는 경우를 생각한다. 종래 기술에서는, Codec_EL_0 101-0와 Codec_EL_1 101-1이 동일한 링 버스에 의해 링 형상으로 접속되어 있다. 그래서, 데이터는 LCB106, DMAC_1 104-1, Ctrl_0 103-0, Mem_Cnt_0 102-0, Codec_EL_0 101-0 내의 기능 서브 유닛, LMC105, DMAC_0 104-0, Ctrl_1 103-1, Mem_Cnt_1 102-1이라는 전송 경로(P1)를 경유하여, Sub_Unit_10 1016으로 전송된다. 그래서, 데이터는, 상당히 긴 경로를 전송하게 된다. 또한, Ctrl_0 103-0, Mem_Cnt_0 102-0, Codec_EL_0 101-0, LMC(105), DMAC_0 104-0에는, 다른 동화상 처리 유닛인 Codec_EL_1 101-1의 데이터가 흐르게 되어서, 버스 트래픽이 증가하게 되어 버린다.
도 5 및 도 6은, 본 실시 형태의 동화상 부호화 복호 장치의 전송 경로의 예를 나타내는 도면이다. 본 실시 형태에서는, 제1의 링 버스(111-0, 111-1)는, 우회전과 좌회전의 2개의 링 버스를 갖는, 양 방향의 링 버스이다. 양 방향의 링 버스의 사용 방법은 다양한 방법을 생각할 수 있다. 본 실시 형태에서는, Codec_EL 내의 기능 서브 유닛이 제1의 링 버스를 사용하여 데이터를 전송하는 경우는, 우회전의 링 버스를 사용하고, LMC(105) 또는 LCB(106)이 제2의 링 버스(112)를 경유하여 수취한 데이터를 제1의 링 버스를 이용해서 전송하는 경우는, 좌회전의 링 버스를 사용하는 것으로 한다.
도 5는, 동일한 Codec_EL 내의 기능 서브 유닛 사이에 데이터를 전송하는 경우의 전송경로의 예를 나타내는 도면이다. 앞의 경우와 마찬가지로, Codec_EL_1 101-1 내의 Sub_Unit_1N 1017로부터, 같은 Codec_EL_1 101-1 내의 Sub_Unit_10 1016에 데이터를 전송하는 경우를 생각한다. 본 실시 형태에서는, Codec_EL_1 101-1 내의 기능 서브 유닛은, Codec_EL_0 101-0과 독립해서 마련된 제1 링 버스(111-1)에 의해 링 형상으로 접속되어 있다. 또한, Sub_Unit_1N 1017은, 제1 링 버스(111-1)의 우회전의 버스를 사용하여 데이터를 전송한다. 그래서, 데이터는 LCB106, DMAC_1 104-1, Ctrl_1 103-1, Mem_Cnt_1 102-1이라는 전송 경로(P2)를 경유하여, Sub_Unit_10 1016에 전송된다. 따라서, 종래 기술과 비교하여, 전송 경로를 짧게 하는 것이 가능하다. 또한, Codec_EL_0 101-0측에는, Codec_EL_1 101-1의 데이터가 흐르지 않기 때문에, Codec_EL_1 101-1의 데이터의 원인으로 Codec_EL_0 101-0측의 버스 트래픽이 증가하지 않는다.
도 6은, 다른 Codec_EL 내의 기능 서브 유닛 간에 데이터를 전송하는 경우의 전송 경로의 예를 나타내는 도면이다. 예를 들어, 도 2에서 나타내는 부호화 대상 화상(200)에 대해서 동화상의 부호화 처리 또는 복호 처리를 하는 경우, 상측의 병렬 처리 영역의 처리 결과를 하측의 병렬 처리 영역의 처리에서 참조하는 경우가 있다. 따라서, Codec_EL_1 101-1과 Codec_EL_0 101-0 사이에 걸쳐 전송이 발생한다. 예를 들어, Line MEM107 내의 데이터 전송 등이 해당된다. 그러므로, Codec_EL_1 101-1 및 Codec_EL_0 101-0을 각각 별개의 제1 링 버스(111-0,111-1)로 접속하는 것만으로는, Codec_EL_1 101-1과 Codec_EL_0 101-0 사이에서의 전송을 할 수 없다. 그래서, LCB106과 LMC105를 제2 링 버스(112)에 의해서 접속한다. 이렇게 하여, Codec_EL_1 101-1과 Codec_EL_0 101-0 사이의 전송이 가능하게 된다. 여기에서는 도 6과 같이, Codec_EL_1 101-1 내의 Sub_Unit_1N 1017에서, Codec_EL_0 101-0 내의 Sub_Unit_0N 1018에 데이터를 전송하는 경우를 생각한다. 이 경우, 데이터는 LCB106, LMC105라고 하는 전송 경로(P3)를 경유하여, Sub_Unit_0N 1018에 전송된다. 제2 링 버스(112)를 경유함으로써, Sub_Unit_0N 1018로의 데이터 전송이 가능하게 된다. Sub_Unit_1N 1017은, 제1 링 버스(111-1)의 우회전의 링 버스를 사용하여, LCB(106)에 데이터를 전송한다. LCB(106)는, 제2 링 버스(112)를 사용하여 LMC(105)에 데이터를 전송한다. LMC(105)는, 제2 링 버스(112)를 경유하여 데이터를 수취하기 때문에, 상기한 바와 같이, 제1 링 버스(111-0)의 좌회전 링 버스를 사용하여, Sub_Unit_0N 1018에 데이터를 전송한다.
(1-3) 실시 형태 1의 효과
특허문헌 1에 기재의 기술에서는, 복수의 동화상 처리 유닛이 동일한 링 버스에서 링 형상으로 접속되어 있었다. 그래서, 다른 동화상 처리 유닛을 걸친 전송이 발생하여, 전송 경로가 길어진다는 문제가 있었다. 또한, 다른 동화상 처리 유닛의 데이터가 원인이 되어 버스 트래픽이 증가한다는 문제가 있었다. 이에 대해서, 본 실시 형태에서는, 동화상 처리 유닛 마다에 독립하여 마련한 링 버스(제1의 링 버스)에 의해서, 동화상 처리 유닛 내의 기능 서브 유닛을 링 형상으로 접속했다. 또한, 동화상 처리 유닛 사이는 별도의 링 버스(제2 링 버스)로 링 형상으로 접속했다. 이렇게 하여, 동화상 처리 유닛 내의 전송은 제1 링 버스를 사용하여 이루어지며, 동화상 처리 유닛 사이의 전송은 제2 링 버스를 사용하여 이루어지는 구성으로 했다. 그래서, 다른 동화상 처리 유닛을 걸친 전송이 발생하지 않으므로, 전송 경로를 짧게 할 수 있다. 동시에, 다른 동화상 처리 유닛의 버스 트래픽이 증가하는 것도 없다.
또한, 특허 문헌 1에 기재된 기술에서는, 동화상 데이터를 저장하는 동화상 메모리의 공유에 의한 소규모화를 위해, 동화상 메모리에서의 동화상 데이터의 읽기와 쓰기를 제어하는 메모리 제어기인 Mem_Cnt나, 외부 버스와 버스 IF인 DMAC는, 복수의 동화상 처리 유닛에 대해서 1개의 구성이었다. 이에 대해서, 본 실시 형태에서는, 동화상 메모리의 공유에 의한 소규모화보다도 구성 가변 용이성을 중시하여, Mem_Cnt이나, DMAC을 동화상 처리 유닛마다에 배치하고, 각 동화상 처리 유닛의 링 버스(제1 링 버스)에 접속하는 구성으로 했다. 또한, LMC, LCB는, 제1 링 버스와는 별도의 링 버스(제2 링 버스)에 의해 접속하는 구성으로 했다. 그러므로, 동화상 처리 유닛의 확장 때에는, Ctrl_Cmn의 확장과 제2 링 버스의 접속 변경만을 하면 된다. 이에 의하여, 특허문헌 1에 기재된 기술과 비교하여, 동화상 처리 유닛의 확장을 보다 용이하게 할 수 있다.
또한, 특허문헌 2에 기재된 기술에서는, 각층의 복수열(제2열 ~ 제4열) 분의 각 PE를, 타층의 PE에 접속했다. 그래서, 배선성의 악화, 면적 증가를 초래한다는 문제가 있었다. 이에 대해서 본 실시 형태에서는, LMC, LCB만을 링 버스(제2 링 버스)로 접속하는 구성으로 했다. 이에 의하여, 특허문헌 2에 기재된 기술과 대비하여, 배선성 악화, 면적 증가를 초래하지 않는다.
(1-4) 실시 형태 1의 변형예
도 7은, 본 실시 형태의 동화상 부호화 복호 장치의 변형예의 블록 구성예를 나타내는 도면이다. 도 1에 나타내는 동화상 부호화 복호 장치에서는, 제1 링 버스(111-0,111-1)를, Codec_EL_0 101-0 및 Codec_EL_1 101-1 마다 독립하여 마련하였기 때문에, 특허문헌 1에 기재된 기술과 비교하여, 전송 경로를 짧게 할 수 있다. 또한, 특허문헌 1에는, 전송 경로를 짧게 하는 방법으로서, 링 버스 상의 데이터 전송 방향을 반대 방향으로 변경하는 방법이 기재되어 있다. 그러나, 본 실시 형태에서는, 상기한 바와 같이, 전송 경로를 짧게 하기 위하여, 데이터의 전송 방향을 변경한다는 방법이 필요하지 않다. 그러므로, 제1 링 버스(111-0,111-1)는, 쌍방향의 링 버스로 할 필요가 없고, 단방향의 링 버스로 구성하는 것도 가능하다.
여기에서, 본 변형예에서는, 쌍방향의 링 버스였던 제1 링 버스(114-0,114-1) 대신에, 전송 방향이 단방향의 링 버스인 제1 링 버스(114-0,114-1)를 마련한다. 또한, 도 7에서는, 제1 링 버스(114-0, 114-1)가 우회전인 링 버스의 예를 나타냈지만, 이에 한정되는 것은 아니다.
또한, 본 변형예에서는, 제1 링 버스(114-0,114-1)는, 단방향의 링 버스로 구성되어 있다. 그래서, 모든 데이터가 우회전으로 전송된다. 이것 이외의 동작은 실시 형태 1과 같다.
본 변형예에서는, 도 1에 나타낸 구성과 비교하여, 제1 링 버스를 쌍방향의 링 버스에서 단방향의 링 버스로 변경하고 있으므로, 내부 버스를 1개 줄일 수도 있다. 이로써, 회로 규모를 한층 더 삭감하고, 배선성의 향상을 도모할 수 있다. 이러한 효과는, 내부 버스에 사용되는 비트가 많을수록 현저하게 된다.
(2) 실시 형태 2
(2-1) 실시 형태 2의 구성
본 실시 형태는, 실시 형태 1의 동화상 부호화 복호 장치의 변형예이다.
도 8은, 본 실시 형태의 동화상 부호화 복호 장치의 블록 구성예를 나타내는 도면이다. 본 실시 형태의 동화상 부호화 복호 장치는, 도 7에 나타낸 실시 형태 2와 비교하여, LMC105, LCB106을 LCB/LMC115-0,115-1로 치환한 점과, Line MEM116을 추가한 점이 다르며, 기타 구성은 실시 형태 1과 같다. 또한 도 8에서는, 도 7에서 나타내는 단방향의 제1 링 버스(114-0,114-1)를 이용했지만, 도 1에 나타내는 쌍방향의 제1 링 버스(111-0,111-1)이어도 된다.
실시 형태 1에서는, Codec_EL_0 101-0 및 Codec_EL_1 101-1의 각각에, 별도의 기능을 가지는 LMC105, LCB106을 배치하였다. 이에 대해서 본 실시 형태에서는, LMC105, LCB106을 LCB 및 LMC의 양쪽의 기능을 가지는 모듈인 LCB/LMC115-0,115-1으로 치환하는 구성으로 했다. 또한, 실시 형태 1에서는, LMC105만에 Line MEM107이 접속되어 있었다. 이에 대해서 본 실시 형태에서는, 양쪽의 LCB/LMC115-0,115-1에 각각 Line MEM107,116이 접속되는 구성으로 했다. 또한, 본 실시 형태에서는, Line MEM107은, Codec_EL_0 101-0에 의한 처리 결과 등을 저장하고, Line MEM116은 Codec_EL_1101-1에 의한 처리 결과 등을 저장한다. LCB/LMC115-0은, Line MEM107에서의 처리 결과 등의 읽기 쓰기의 제어 등을 하는 모듈이다. 예를 들어, LCB/LMC115-0은, Codec_EL_0 101-0에 의한 처리 결과를 Line MEM107에 쓴다. 또한, LCB/LMC115-0은 Line MEM107에서 Codec_EL_0 101-0에 의한 처리 결과를 읽어내고, LCB/LMC115-1, 또는 Codec_EL_0 101-0로 전송한다. 또한, LCB/LMC115-0은, LCB/LMC115-1부터 Codec_EL_1 101-1에 의한 처리 결과를 수신하여, Codec_EL_0 101-0에 전송한다. LCB/LMC115-1은, Line MEM116에서의 처리 결과 등의 읽기의 제어 등을 하는 모듈이다. 예를 들어, LCB/LMC115-1은, Codec_EL_1101-1에 의한 처리 결과를 Line MEM116에 쓴다. 또한, LCB/LMC115-1은, Line MEM116부터 Codec_EL_1 101-1에 의한 처리 결과를 읽어내고, LCB/LMC115-0, 또는 Codec_EL_1 101-1에 전송한다. 또한, LCB/LMC115-1은, LCB/LMC115-0로부터 Codec_EL_0 101-0에 의한 처리 결과를 수신하여, Codec_EL_1101-1에 전송한다.
(2-2) 실시 형태 2의 동작
본 실시 형태에서는, Codec_EL_0 101-0 및 Codec_EL_1101-1의 각각이, LCB/LMC 및 Line MEM을 구비하고 있다. 그래서, Codec_EL_0 101-0 및 Codec_EL_1 101-1을 독립적으로 동작시킬 수 있다. 이에 의하여, Codec_EL_0 101-0 및 Codec_EL_1 101-1이 서로 다른 별개의 부호화 처리 또는 복호 처리를 하는 것도 가능하게 된다. 예를 들어, Codec_EL_0 101-0이 복호 처리를 하고, Codec_EL_1 101-1이 부호화를 처리하는 것도 가능하게 된다. 또한, Codec_EL_0 101-0 및 Codec_EL_1 101-1이 서로 다른 별개의 화상의 부호화 처리를 하는 것이나, 서로 다른 별개의 화상의 복합 처리를 하는 것도 가능하게 된다. 물론, 상기한 실시 형태 1, 2와 마찬가지로, Codec_EL_0 101-0 및 Codec_EL_1101-1이, 같은 화상의 다른 병렬 처리 영역의 부호화 처리 및 복호 처리를 병렬로 하는 것도 가능하다.
(2-3) 실시 형태 2의 효과
본 실시 형태의 효과는, 실시 형태 1과 같다. 다만, 본 실시 형태에서, 복수의 동화상 처리 유닛에 다른 부호화 처리 또는 복호 처리를 할당하는 경우, 아래의 점에서 우위에 있다.
· 동화상 처리 유닛 사이의 간섭에 의한 성능 저하가 없다. 본 실시 형태에서도, 상기한 실시 형태 1과 마찬가지로, 다른 동화상 처리 유닛을 걸친 데이터 전송은 발생하지 않는다. 따라서, 복수의 동화상 처리 유닛에 별도의 처리를 할당한 경우, 동화상 처리 유닛 사이의 간섭에 의한 성능 저하는 일체 발생하지 않는다.
· Mem_Cnt, DMAC의 제어가 용이하다. 특허문헌 1에 기재된 기술에서는, Mem_Cnt, DMAC는, 복수의 동화상 처리 유닛에 대해서 1개의 구성이기 때문에, 제어가 복잡하게 된다. 이에 대해서 본 실시 형태에서는, Mem_Cnt, DMAC는, Codec_EL 1개에 대해서 1개의 구성이다. 따라서, Mem_Cnt, DMAC는, 독립적으로 제어할 수 있기 때문에 제어가 용이하게 된다.
· 리셋, 클럭 정지의 제어가 용이하다. 특허문헌 1에 기재된 기술에서는, Mem_Cnt, DMAC는, 복수의 동화상 처리 유닛에 대해서 1개의 구성이라는 점, 다른 동화상 처리 유닛을 걸친 전송이 발생한다는 점에서, 리셋이나 클럭 정지의 제어가 어렵다. 이에 대해서, 본 실시 형태에서는, 복수의 동화상 처리 유닛에 별도의 처리를 할당한 경우, 동화상 처리 유닛 간은 서로 간섭하지 않기 때문에, 리셋이나, 클럭 정지의 제어를 쉽게 할 수 있다.
(2-4) 실시 형태 2의 변형예
본 실시 형태에 따르면, 복수의 Codec_EL을 독립적으로 동작시킬 수 있다. 그래서, 복수의 Codec_EL에 동일한 부호화 처리 또는 복호 처리를 할당하고, 그 처리 결과를 비교함으로써, Codec_EL의 고장을 검출할 수 있다.
도 9는, 본 실시 형태의 동화상 부호화 복
호 장치의 변형예의 블록 구성예를 나타내는 도면이다. 본 변형예는, 도 8에 나타낸 구성에 대해서, M(M은 1 이상의 자연수)+1개의 동화상 처리 유닛(Codec_EL_0 101-0~Codec_EL_M 101-M)을 마련하고, 고장 검출부(117)를 추가한 것에 상당한다. 또한, 도 9에서는, 도 8에 나타낸 구성 요소 중 Codec_EL 이외의 구성 요소는 모두 생략하고 있다.
고장 검출부(117)는, Codec_EL_0 101-0~Codec_EL_M 101-M의 처리 결과를 비교하고, 그 비교 결과를 기초로, Codec_EL_0 101-0~Codec_EL_M 101-M의 고장을 검출한다.
이하, 본 변형예에서의 고장 검출 처리를 설명한다.
도 10은, M=1로 하고, 2개의 Codec_EL_0 101-0 및 Codec_EL_1 101-1에서 고장 검출을 했을 경우의 예이다. Codec_EL_0 101-0 및 Codec_EL_1 101-1의 처리 결과를, 각각 결과 0, 결과 1로 한다. 고장 검출부(117)는, 결과 0, 결과 1을 비교한 결과, 양자가 일치한 경우, Codec_EL_0 101-0 및 Codec_EL_1 101-1은 고장 나지 않은 것으로 판정할 수 있다. 한편, 고장 검출부(117)는, 결과 0, 결과 1을 비교한 결과 양자가 불일치한 경우, Codec_EL_0 101-0 또는 Codec_EL_1101-1의 하나가 고장 났다고 판정할 수 있다.
도 11은, M=2로 하고, 3개의 Codec_EL_0 101-0, Codec_EL_1 101-1 및 Codec_EL_2 101-2에서 고장 검출을 했을 경우의 예이다. Codec_EL_0 101-0, Codec_EL_1 101-1 및 Codec_EL_2 101-2의 처리 결과를, 각각 결과 0, 결과 1, 결과 2로 한다. 고장 검출부(117)는, 결과 0, 결과 1, 결과 2를 비교한 결과, 예를 들어, 결과 0과 결과 1이 일치하고, 결과 2만 불일치였다 한다. 이 경우, 고장 검출부(117)는, Codec_EL_2 101-2가 고장 났다고 판정할 수 있다. 또한, 이 경우는, 고장 검출부(117)는, Codec_EL_0 101-0 및 Codec_EL_1 101-1은 고장 나지 않았다고 판정할 수 있다. 그러므로, Codec_EL_0 101-0 및 Codec_EL_1 101-1의 처리 결과인 결과 0 및 결과 1은, 그 후의 처리에서 사용 가능하다.
(3) 실시 형태 3
본 실시 형태는, 처리 장치가 코어 프로세서인 경우의 예이다. 이 코어 프로세서는, 처리 유닛으로서의 프로세서 그룹을 복수 구비한다.
도 12는, 본 실시 형태의 코어 프로세서의 블록 구성예를 나타내는 도면이다. 본 실시 형태의 코어 프로세서는, M(M은 1 이상의 자연수)+1개의 프로세서 그룹인 Processor_Gr_0 301-0~Processor_Gr_M 301-M을 구비한다. 각 프로세서 그룹에는, N(N은 1 이상의 자연수)개의 프로세서 Pm_n(m=0,..., M.n=0,..., N-1)3010과, 다른 프로세서 그룹에의 데이터 전송을 행하는 전송 모듈로서의 1개의 프로세서 Pm_N(m=0,..., M)3011가, 포함된다.
본 실시 형태의 코어 프로세서에서는, Processor_Gr_0 301-0 내의 프로세서 P0_n 3010 및 P0_N 3011은, 제1 링 버스(302-0)에 의해 링 형상에 접속되어 있다. 또한, 마찬가지로, Processor_Gr_1301-1 내의 프로세서 P1_n 3010 및 P1_N 3011은, 제1 링 버스(302-1)에 의해 링 형상으로 접속되어 있다. 또한, 마찬가지로, Processor_Gr_M 301-M 내의 프로세서 PM_n 3010 및 PM_N 3011은, 제1 링 버스(302-M)에 의해 링 형상으로 접속되어 있다. 또한, 각 프로세서 그룹 간의 프로세서 Pm_N 3011은, 제1 링 버스 302-0~302-M와는 다른 링 버스인, 제2 링 버스(303)에 의해서 링 형상으로 접속되어 있다.
특허문헌 2에 기재된 기술에서는, 자층(自層)의 PE어드레스가 아닌 패킷이, 링 버스(7) 상을 흐르기 때문에, 타층의 패킷이 원인이 되어, 버스 트래픽이 증가한다는 문제가 있었다. 이에 대해서 본 실시 형태에서는, 밀접한 연계가 필요한 프로세서 그룹 내의 프로세서, 예를 들면, Processor_Gr_0 301-0 내의 프로세서 P0_0, P0_1, P0_2,..., P0_N 간의 통신은, 제1 링 버스(302-0)를 사용하여 이루어진다. 또한, 프로세서 그룹 간의 통신은, 제2 링 버스(303)를 사용하여 이루어진다. 이에 의하여, 다른 프로세서 그룹의 데이터가 링 버스(제1 링 버스) 상을 흐르는 것이 없어지므로, 다른 프로세서 그룹의 데이터가 원인이 되어 버스 트래픽이 증가하지는 않는다.
또한, 특허문헌 2에 기재된 기술은, 각층의 복수열(제2열 ~ 제4열) 분의 각 PE를, 타층의 PE에 접속하는 구성이다. 이에 대해서 본 실시 형태에서는, Pm_n 3011만을 링 버스(제2 링 버스)에 의해 접속하는 구성으로 했다. 그러므로, 특허문헌 2에 기재된 기술과 비교해서, 배선성의 악화, 면적의 증가를 초래하는 것이 없다.
(4) 실시 형태 1 ~ 3의 개념
도 13은, 상기 실시 형태 1 ~ 3을 개념적으로 나타낸 처리 장치의 블록 구성 예를 나타낸다. 도 13에 나타내는 처리 장치는, M(M은 1 이상의 자연수)+1개의 처리 유닛(401-0~401-M)과 M+1개의 전송 모듈(402-0~402-M)과 M+1개의 제1 링 버스(403-0~403-M)와 제2 링 버스(404)를 구비한다.
처리 유닛(401-0~401-M)은, 서로 병렬로 처리 가능한 처리 유닛이며, N개(N은 1 이상의 자연수)의 서브 유닛(4010)을 포함하고 있다. 처리 유닛(401-0~401-M)은 동화상 처리 유닛인, Codec_EL_0 101-0~Codec_EL_M 101-M 및 프로세서 그룹인 Processor_Gr_0 301-0~Processor_Gr_M 301-M에 대응한다. 또한, 서브 유닛(4010)은, 가변 길이 처리부(VLC)(1010), 정수 화소 정도 움직임 예측 처리부(CME)(1011), 소수 화소 정도 움직임 예측 처리부(FME)(1012), 움직임 보상 처리부(MC)(1013) 및 주파수 변환부(TRF)(1014), 디블로킹(deblocking) 필터처리부(DEB)(1015)에 대응한다. 또한, 서브 유닛(4010)은, 프로세서 Pm_n(m=0,..., M.n=0,..., N-1)(3010) 및 프로세서 Pm_N(m=0,..., M)(3011)에 대응한다.
전송 모듈(402-0~402-M)은, 처리 유닛(401-0~401-M) 각각에 대응하여 설치되며, 처리 유닛(401-0~401-M) 사이의 데이터 전송을 하는 모듈이다. 전송 모듈(402-0~402-M)은, LMC105, LCB106, LCB/LMC115-0,115-1 및 프로세서 Pm_N(m=0,..., M)(3011)에 대응한다. 또한, 도 13에서는, 전송 모듈(402-0~402-M)은, 대응하는 처리 유닛(401)의 외부에 마련되어 있으나, 대응하는 처리 유닛(401)의 내부에 마련해도 된다.
제1 링 버스(403-0~403-M)는, 처리 유닛(401-0~401-M)의 각각에 대응하여 마련되고, 대응하는 처리 유닛(401) 내의 서브 유닛(4010)과, 그 처리 유닛(401)에 대응하는 전송 모듈(402)을 링 형상으로 접속하는 링 버스이다. 제1 링 버스(403-0~403-M)는, 제1 링 버스(111-0,111-1,114-0,114-1,302-0~302-M)에 대응한다. 또한, 도 13에서는, 제1 링 버스(403-0~403-M)는, 우회전의 단방향의 링 버스로서 나타내고 있지만, 좌회전의 단방향의 링 버스로 해도 되며, 우회전 및 좌회전의 2개의 링 버스를 가진 쌍방향 링 버스로 해도 된다.
제2 링 버스(404)는, 전송 모듈(402-0~402-M)을 링 형상으로 접속하는 링 버스이다. 제2 링 버스(404)는, 제2 링 버스(112,303)에 대응한다.
도 13에 나타내는 처리 장치에서는, 처리 유닛마다에 독립하여 마련한 제1 링 버스에 의해서, 처리 유닛 내의 서브 유닛을 링 형상으로 접속하는 구성으로 했다. 또한, 처리 유닛 간은, 제1 링 버스와는 별도의 제2 링 버스에 의해 링 형상으로 접속하는 구성으로 했다. 그래서, 처리 유닛 내의 전송은 제1 링 버스를 사용하여 이루어지며, 처리 유닛 간의 전송은 제2 링 버스를 사용하여 이루어지는 구성이 된다.
이로써, 데이터 전송을 하는 경우, 다른 처리 유닛을 걸친 전송이 발생하지 않으므로, 전송 경로를 짧게 할 수 있다. 또한, 어떤 처리 유닛의 제1 링 버스에 다른 처리 유닛의 데이터가 흐르는 것이 없으므로, 다른 처리 유닛의 데이터가 원인이 되어 버스 트래픽이 증가하는 것도 없다. 또한, 다른 처리 유닛과 접속하는 것은 전송 모듈만이므로, 배선성의 악화, 면적의 증가를 초래하지는 않는다.
이상에서, 본 발명자에 의하여 이루어진 발명을 실시 형태에 의하여 구체적으로 설명했지만, 본 발명은 상기 실시 형태로 한정되는 것이 아니며, 그 요지를 일탈하지 않는 범위에서 여러 가지로 변경 가능하다.
[부호의 설명]
101-0 : 동화상 처리 유닛(Codec_EL_0)
101-1 : 동화상 처리 유닛(Codec_EL_1)
1010 : 가변 길이 처리부(VLC)
1011 : 정수(整數) 화소 정도(精度) 움직임 예측 처리부(CME)
1012 : 소수(小數) 화소 정도 움직임 예측 처리부(FME)
1013 : 움직임 보상 처리부(MC)
1014 : 주파수 변환부(TRF)
1015 : 디블로킹 필터 처리부(DEB)
102-0 : 메모리 제어기(Mem_Cnt_0)
102-1 : 메모리 제어기(Mem_Cnt_1)
103-0 : 제어기(Ctrl_0)
103-1 : 제어기(Ctrl_1)
104-0 : 다이렉트 메모리 액세스 제어기(DMAC_0)
104-1 : 다이렉트 메모리 액세스 제어기(DMAC_1)
105 : 라인 메모리 제어기(LMC)
106 : 라인 컨트롤 블록(LCB)
107 : 라인 메모리(Line MEM)
108 : 제어기(Ctrl_Cmn)
109 : 마스터 버스
110 : 버스
111-0,111-1 : 제1 링 버스
112 : 제2 링 버스
113 : 입출력 인터페이스(IO)
114-0,114-1 : 제1 링 버스
115-0,115-1 : LCB/LMC
116 : 라인 메모리(Line MEM)
117 : 고장 검출부
200 : 부호화 대상 화상
201 : CTB
202 : 처리 방향
301-0~301-M :프로세서 그룹(Processor_Gr_0~Processor_Gr_M)
3010 : 프로세서
3011 : 프로세서(전송 모듈)
302-0~302-M : 제1 링 버스
303 : 제2 링 버스
401-0~401-M : 처리 유닛
402-0~402-M : 전송 모듈
403-0~403-M : 제1 링 버스
404 : 제2 링 버스
P1, P2, P3 : 전송 경로

Claims (14)

  1. 복수의 처리 유닛과,
    상기 복수의 처리 유닛 각각에 대응하여 마련되고, 상기 처리 유닛 사이에서 데이터를 전송하는 복수의 전송 모듈과,
    상기 복수의 처리 유닛 각각에 대응하여 마련되고, 대응하는 상기 처리 유닛 내의 서브 유닛과, 그 처리 유닛에 대응하는 상기 전송 모듈을 링 형상으로 접속하는 복수의 제1 링 버스와,
    상기 복수의 전송 모듈을 링 형상으로 접속하는 제2 링 버스를 구비하는, 처리 장치.
  2. 제1항에 있어서,
    상기 복수의 처리 유닛의 각각은, 동화상의 부호화 처리 및 복호 처리를 하는 동화상 처리 유닛인, 처리 장치.
  3. 제2항에 있어서,
    상기 복수의 처리 유닛에 의한 처리 결과를 저장하는 1개의 라인 메모리를 더 구비하고,
    상기 복수의 전송 모듈 각각은, 상기 처리 유닛 사이에서 상기 처리 결과를 전송하고,
    상기 복수의 전송 모듈 중 1개의 전송 모듈은, 상기 라인 메모리에의 상기 처리 결과의 읽기 쓰기를 제어하는, 처리 장치.
  4. 제2항에 있어서,
    상기 복수의 처리 유닛의 각각에 대응하여 마련되고, 대응하는 처리 유닛에 의한 처리 결과를 저장하는 복수의 라인 메모리를 더 구비하고,
    상기 복수의 전송 모듈의 각각은, 대응하는 라인 메모리에서의 상기 처리 결과의 읽기를 제어하는, 처리 장치.
  5. 제4항에 있어서,
    상기 복수의 처리 유닛에는, 서로 다른 부호화 처리 또는 복호 처리가 할당되는 처리 장치.
  6. 제4항에 있어서,
    상기 복수의 처리 유닛에는, 서로 동일한 부호화 처리 또는 복호 처리가 할당되는, 처리 장치.
  7. 제6항에 있어서,
    상기 복수의 처리 유닛의 처리 결과를 비교하고, 비교 결과에 기초해서, 상기 복수의 처리 유닛의 고장을 검출하는 고장 검출부를 더 구비하는, 처리 장치.
  8. 제2항에 있어서,
    상기 복수의 처리 유닛의 각각에 대응하여 마련되고, 대응하는 처리 유닛에 공급하는 동화상을 저장하는 동화상 메모리에서의 동화상의 읽기 쓰기를 제어하는 복수의 메모리 제어기와,
    상기 복수의 처리 유닛 각각에 대응하여 마련되고, 대응하는 처리 유닛의 버스에 대한 인터페이스가 되는 복수의 다이렉트 메모리 액세스 제어기를 더 구비하는, 처리 장치.
  9. 제1항에 있어서,
    상기 복수의 처리 유닛 각각은, 상기 서브 유닛으로서 복수의 프로세서를 구비하는 프로세서 그룹인, 처리 장치.
  10. 제1항에 있어서,
    상기 복수의 전송 모듈 각각은, 상기 복수의 프로세서 중 1개인, 처리 장치.
  11. 제1항에 있어서,
    상기 제1 링 버스는, 전송 방향이 서로 반대인 2개의 링 버스로 구성되는 쌍방향의 링 버스인, 처리 장치.
  12. 제1항에 있어서,
    상기 처리 유닛 내의 서브 유닛이 상기 제1 링 버스를 사용하여 데이터를 전송하는 경우와, 상기 전송 모듈이 상기 제2 링 버스를 경유하여 수신한 데이터를 상기 제1 링 버스를 사용하여 전송하는 경우로 사용하는 상기 2개의 링 버스가 다른, 처리 장치.
  13. 제1항에 있어서,
    상기 제1 링 버스는, 전송 방향이 단일 방향의 링 버스인, 처리 장치.
  14. 복수의 처리 유닛을 구비하는 처리 장치의 제어 방법으로서,
    상기 복수의 처리 유닛 각각에 대응하여, 상기 처리 유닛 간에 데이터를 전송하는 복수의 전송 모듈이 마련되고,
    상기 복수의 처리 유닛마다, 상기 처리 유닛 내의 서브 유닛과, 상기 처리 유닛에 대응해서 마련된 상기 전송 모듈을 제1 링 버스에 의해 링 형상으로 접속하고,
    상기 복수의 전송 모듈을 제2 링 버스에 의해 링 형상으로 접속하는, 제어 방법.
KR1020160001450A 2015-03-25 2016-01-06 처리 장치 및 처리 장치의 제어 방법 KR20160115680A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015062272A JP6454577B2 (ja) 2015-03-25 2015-03-25 処理装置及び処理装置の制御方法
JPJP-P-2015-062272 2015-03-25

Publications (1)

Publication Number Publication Date
KR20160115680A true KR20160115680A (ko) 2016-10-06

Family

ID=55650216

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160001450A KR20160115680A (ko) 2015-03-25 2016-01-06 처리 장치 및 처리 장치의 제어 방법

Country Status (5)

Country Link
US (1) US10452587B2 (ko)
EP (1) EP3073378B1 (ko)
JP (1) JP6454577B2 (ko)
KR (1) KR20160115680A (ko)
CN (1) CN106028041B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6587254B2 (ja) 2016-09-16 2019-10-09 株式会社東海理化電機製作所 輝度制御装置、輝度制御システム及び輝度制御方法
TWI720345B (zh) * 2018-09-20 2021-03-01 威盛電子股份有限公司 多核心系統的內連線結構

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181817A (ja) 1991-04-30 1993-07-23 Hitachi Ltd 並列処理装置
JP2008042571A (ja) 2006-08-07 2008-02-21 Renesas Technology Corp 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6261446A (ja) * 1985-09-11 1987-03-18 Nec Corp ト−クン2重ル−プアクセス方式
JPH0646413B2 (ja) * 1987-08-10 1994-06-15 日本電気株式会社 デ−タ処理プロセッサ
JP3417369B2 (ja) * 1999-11-05 2003-06-16 日本電気株式会社 バススイッチ用アダプタ、バススイッチ用ブリッジ、バススイッチ、およびバススイッチシステム
WO2005079875A1 (en) * 2004-02-24 2005-09-01 Givaudan Sa Air purifier and volatile liquid disseminator
CN100499556C (zh) * 2007-10-17 2009-06-10 中国人民解放军国防科学技术大学 异构多核处理器高速异步互连通信网络
US20110145837A1 (en) * 2009-12-14 2011-06-16 Bower Kenneth S Filtering Broadcast Recipients In A Multiprocessing Environment
JP2012103772A (ja) * 2010-11-08 2012-05-31 Renesas Electronics Corp プロセッサおよびそれを用いた画像処理システム
CN102291182B (zh) * 2011-09-21 2014-07-09 武汉市普林电子有限责任公司 一种具有扩容适应性和线路保护功能的环形馈线结构odn网络***
WO2013081579A1 (en) * 2011-11-29 2013-06-06 Intel Corporation Ring protocol for low latency interconnect switch
US9261897B2 (en) * 2012-03-07 2016-02-16 Intel Corporation Scalable, common reference-clocking architecture using a separate, single clock source for blade and rack servers
WO2014209406A1 (en) * 2013-06-29 2014-12-31 Intel Corporation On-chip mesh interconnect
CN104393921B (zh) * 2014-11-17 2017-03-22 北方工业大学 基于环形谐振腔可调延迟的全光缓存器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181817A (ja) 1991-04-30 1993-07-23 Hitachi Ltd 並列処理装置
JP2008042571A (ja) 2006-08-07 2008-02-21 Renesas Technology Corp 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路

Also Published As

Publication number Publication date
US10452587B2 (en) 2019-10-22
EP3073378A1 (en) 2016-09-28
EP3073378B1 (en) 2021-11-10
JP6454577B2 (ja) 2019-01-16
US20160283430A1 (en) 2016-09-29
CN106028041B (zh) 2020-10-30
JP2016181870A (ja) 2016-10-13
CN106028041A (zh) 2016-10-12

Similar Documents

Publication Publication Date Title
US10361886B2 (en) Apparatus and method for collective communication in a parallel computer system
US7889725B2 (en) Computer cluster
US20110238938A1 (en) Efficient mirroring of data across storage controllers
CN102129418A (zh) 一种高端容错计算机***及实现方法
US9477559B2 (en) Control device, control method and recording medium storing program thereof
KR20160115680A (ko) 처리 장치 및 처리 장치의 제어 방법
US10193827B2 (en) Hot carrier injection tolerant network on chip router architecture
US10168914B2 (en) Data buffer for multiple DIMM topology
EP2282269A1 (en) Network for mutually connecting computers
US8386624B2 (en) Broadcast processing method for network system and network system
US20150049758A1 (en) Hot carrier injection tolerant network on chip router architecture
US10579573B2 (en) Method of implementing a network ASIC in a network device
US9497141B2 (en) Switch point having look-ahead bypass
TWI617987B (zh) 實現線速互連結構的方法、電腦系統、與非暫時性電腦可讀取記憶體
CN107844451B (zh) 一种级联板间流水线的“蝶式”传输方法
US9639285B2 (en) Distributed raid in a flash based memory system
de Lima et al. FlexOE: a congestion-aware routing algorithm for NoCs
US10484264B2 (en) Communication management method and information processing apparatus
Amaresh et al. Performance Analysis of Data Communication Using Hybrid NoC for Low Latency and High Throughput on FPGA
Kitakami et al. Fault-tolerant wormhole switching with backtracking capability
JP2010010897A (ja) 多重化装置同期化処理装置及び多重化装置同期化処理方法
JP6214346B2 (ja) 二重系制御装置
JP5307525B2 (ja) データ処理装置及びその制御方法
JP2009225304A (ja) スイッチング方法及び装置
WO2015141153A1 (ja) プログラマブル論理集積回路