KR20200016205A - 수신 장치, 송신 장치, 제어 방법, 프로그램, 및 송수신 시스템 - Google Patents

수신 장치, 송신 장치, 제어 방법, 프로그램, 및 송수신 시스템 Download PDF

Info

Publication number
KR20200016205A
KR20200016205A KR1020197032583A KR20197032583A KR20200016205A KR 20200016205 A KR20200016205 A KR 20200016205A KR 1020197032583 A KR1020197032583 A KR 1020197032583A KR 20197032583 A KR20197032583 A KR 20197032583A KR 20200016205 A KR20200016205 A KR 20200016205A
Authority
KR
South Korea
Prior art keywords
data
unit
packet
timing
lanes
Prior art date
Application number
KR1020197032583A
Other languages
English (en)
Other versions
KR102538713B1 (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 소니 세미컨덕터 솔루션즈 가부시키가이샤
Publication of KR20200016205A publication Critical patent/KR20200016205A/ko
Application granted granted Critical
Publication of KR102538713B1 publication Critical patent/KR102538713B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/555Constructional details for picking-up images in sites, inaccessible due to their dimensions or hazardous conditions, e.g. endoscopes or borescopes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
    • H04L25/4908Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using mBnB codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/57Mechanical or electrical details of cameras or camera modules specially adapted for being embedded in other devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/665Control of cameras or camera modules involving internal camera communication with the image sensor, e.g. synchronising or multiplexing SSIS control signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/667Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
    • H04N5/23206
    • H04N5/23245
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/45Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from two or more image sensors being of different type or operating in different modes, e.g. with a CMOS sensor for moving images in combination with a charge-coupled device [CCD] for still images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/56Cameras or camera modules comprising electronic image sensors; Control thereof provided with illuminating means

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Communication Control (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 기술은, 복수의 통신 링크를 이용하여 데이터의 전송이 행하여지는 경우에 있어서, 통신 링크 사이의 데이터의 타이밍의 어긋남을 보정할 수 있도록 하는 수신 장치, 송신 장치, 제어 방법, 프로그램, 및 송수신 시스템에 관한 것이다. 본 기술의 수신 장치는, 송신 장치가 갖는 복수의 송신부의 각각부터 복수의 레인을 사용하여 병렬로 송신된 동일한 데이터 구조를 갖는 데이터 스트림을 수신하는 처리와, 수신한 데이터 스트림을 1계통의 데이터로 통합하고, 데이터 스트림을 구성하는 패킷을 취득하는 처리를 복수의 수신부에서 행하여, 하나의 송신부와 하나의 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남을 보정한다. 본 기술은, 칩 사이의 데이터 전송에 적용할 수 있다.

Description

수신 장치, 송신 장치, 제어 방법, 프로그램, 및 송수신 시스템
본 기술은, 수신 장치, 송신 장치, 제어 방법, 프로그램, 및 송수신 시스템에 관한 것으로, 특히, 복수의 통신 링크를 이용하여 데이터의 전송이 행하여지는 경우에 있어서, 통신 링크 사이의 데이터의 타이밍의 어긋남을 보정할 수 있도록 한 수신 장치, 송신 장치, 제어 방법, 프로그램, 및 송수신 시스템에 관한 것이다.
이미지 센서의 고화질화, 고프레임 레이트화에 수반하여, 이미지 센서와, 이미지 센서에 의해 촬상된 화상을 처리하는 DSP(Digital Signal Processor) 사이의 인터페이스에 요구되는 데이터의 전송 용량이 높아지고 있다.
특허문헌 1에는, 화상 데이터를 격납하는 패킷을 복수 레인에 분배하고, 복수 레인을 통하여, 이미지 센서로부터 DSP에 데이터를 전송하는 전송 방식이 기재되어 있다. 이 전송 방식에서는, 1프레임의 각 라인을 구성하는 화상 데이터가 이미지 센서에 있어서 각 패킷에 격납되어, DSP에 전송된다.
또한, 특허문헌 1에는, 이미지 센서측의 송신부와 DSP측의 수신부의 쌍(對)을 복수 마련하고, 각각의 송수신부 사이에서 데이터 전송을 행하는 것에 대해도 기재되어 있다.
일본 특개2012-120159호 공보
이미지 센서측의 하나의 송신부와 DSP측의 하나의 수신부로 하나의 통신 링크가 구성되는 것으로 하면, 송신부와 수신부의 쌍을 복수 마련한 경우에는 복수의 통신 링크를 이용하여 데이터의 전송이 행하여지게 된다.
각 통신 링크에서의 데이터의 전송이 독립하여 행하여지는 경우, 통신 링크 사이에서, 데이터의 타이밍에 어긋남이 생긴다.
본 기술은 이와 같은 상황을 감안하여 이루어진 것이고, 복수의 통신 링크를 이용하여 데이터의 전송이 행하여지는 경우에 있어서, 통신 링크 사이의 데이터의 타이밍의 어긋남을 보정할 수 있도록 하는 것이다.
본 기술의 제1의 측면의 수신 장치는, 송신 장치가 갖는 복수의 송신부의 각각부터 복수의 레인을 사용하여 병렬로 송신된 동일한 데이터 구조를 갖는 데이터 스트림을 수신하는 처리를 제1의 레이어의 처리로서 행하고, 수신한 상기 데이터 스트림을 1계통의 데이터로 통합하고, 상기 데이터 스트림을 구성하는 패킷을 취득하는 처리를 제2의 레이어의 처리로서 행하는 복수의 수신부와, 하나의 상기 송신부와 하나의 상기 수신부의 조(組)의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남을 보정하는 제어부를 구비한다.
본 기술의 제2의 측면의 송신 장치는, 전송 대상의 데이터를 격납하는 패킷의 생성과, 생성한 상기 패킷을 복수의 레인에 분배하는 처리를 포함하는 처리를 제1의 레이어의 처리로서 행하고, 분배한 상기 패킷을 포함하는 동일한 데이터 구조를 갖는 데이터 스트림을, 복수의 수신부를 갖는 수신 장치에 대해, 복수의 상기 레인을 사용하여 병렬로 송신하는 처리를 제2의 레이어의 처리로서 행하는 복수의 송신부와, 하나의 상기 송신부와 하나의 상기 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남을 보정하는 제어부를 구비한다.
본 기술의 제1의 측면에서는, 송신 장치가 갖는 복수의 송신부의 각각부터 복수의 레인을 사용하여 병렬로 송신된 동일한 데이터 구조를 갖는 데이터 스트림을 수신하는 처리인 제1의 레이어의 처리와, 수신한 상기 데이터 스트림을 1계통의 데이터로 통합하고, 상기 데이터 스트림을 구성하는 패킷을 취득하는 처리인 제2의 레이어의 처리가 복수의 수신부에서 행하여지고, 하나의 상기 송신부와 하나의 상기 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남이 보정된다.
본 기술의 제2의 측면에서는, 전송 대상의 데이터를 격납하는 패킷의 생성과, 생성한 상기 패킷을 복수의 레인에 분배하는 처리를 포함하는 처리인 제1의 레이어의 처리와, 분배한 상기 패킷을 포함하는 동일한 데이터 구조를 갖는 데이터 스트림을, 복수의 수신부를 갖는 수신 장치에 대해, 복수의 상기 레인을 사용하여 병렬로 송신하는 처리인 제2의 레이어의 처리가 복수의 송신부에서 행하여지고, 하나의 상기 송신부와 하나의 상기 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남이 보정된다.
본 기술에 의하면, 복수의 통신 링크를 이용하여 데이터의 전송이 행하여지는 경우에 있어서, 통신 링크 사이의 데이터의 타이밍의 어긋남을 보정할 수 있다.
또한, 여기에 기재된 효과는 반드시 한정되는 것이 아니고, 본 개시 중에 기재된 어느 하나의 효과라도 좋다.
도 1은 전송 시스템의 제1의 구성례를 도시하는 도면.
도 2는 전송 시스템의 제2의 구성례를 도시하는 도면.
도 3은 전송 시스템의 제3의 구성례를 도시하는 도면.
도 4는 프레임 포맷의 예를 도시하는 도면.
도 5는 송신부와 수신부의 구성례를 도시하는 도면.
도 6은 헤더 구조를 도시하는 도면.
도 7은 헤더 정보의 내용과 정보량을 도시하는 도면.
도 8은 비트 배열의 예를 도시하는 도면.
도 9는 각 화소의 화소치가 8비트로 표시되는 경우의 Pixel to Byte 변환의 예를 도시하는 도면.
도 10은 각 화소의 화소치가 10비트로 표시되는 경우의 Pixel to Byte 변환의 예를 도시하는 도면.
도 11은 각 화소의 화소치가 12비트로 표시되는 경우의 Pixel to Byte 변환의 예를 도시하는 도면.
도 12는 각 화소의 화소치가 14비트로 표시되는 경우의 Pixel to Byte 변환의 예를 도시하는 도면.
도 13은 각 화소의 화소치가 16비트로 표시되는 경우의 Pixel to Byte 변환의 예를 도시하는 도면.
도 14는 페이로드(payload) 데이터의 예를 도시하는 도면.
도 15는 페이로드 데이터의 다른 예를 도시하는 도면.
도 16은 패리티가 삽입된 페이로드 데이터의 예를 도시하는 도면.
도 17은 페이로드 데이터에 헤더를 부가한 상태를 도시하는 도면.
도 18은 페이로드 데이터에 헤더와 푸터(footer)를 부가한 상태를 도시하는 도면.
도 19는 패리티가 삽입된 페이로드 데이터에 헤더를 부가한 상태를 도시하는 도면.
도 20은 패킷 데이터의 할당의 예를 도시하는 도면.
도 21은 제어 코드의 예를 도시하는 도면.
도 22는 K Character의 값을 도시하는 도면.
도 23은 Pad Code의 삽입의 예를 도시하는 도면.
도 24는 제어 코드 삽입 후의 패킷 데이터의 예를 도시하는 도면.
도 25는 Data Skew의 보정의 예를 도시하는 도면.
도 26은 촬상 장치의 처리에 관해 설명하는 플로우 차트.
도 27은 도 26의 스텝 S2에서 행하여지는 데이터 송신 처리에 관해 설명하는 플로우 차트.
도 28은 도 26의 스텝 S3에서 행하여지는 데이터 수신 처리에 관해 설명하는 플로우 차트.
도 29는 레인수를 전환하는 경우의 제어 시퀀스를 도시하는 도면.
도 30은 프레임 포맷의 다른 예를 도시하는 도면.
도 31은 도 30의 프레임 포맷의 1패킷을 확대하여 도시하는 도면.
도 32는 헤더 정보의 내용을 도시하는 도면.
도 33은 범용 I/F를 이용한 전송 시스템의 제1의 구성례를 도시하는 도면.
도 34는 범용 I/F를 이용한 전송 시스템의 제2의 구성례를 도시하는 도면.
도 35는 범용 I/F를 이용한 전송 시스템의 제3의 구성례를 도시하는 도면.
도 36은 패킷의 데이터 구조의 예를 도시하는 도면.
도 37은 송신측 LSI와 수신측 LSI의 구성례를 도시하는 도면.
도 38은 Byte Packing의 예를 도시하는 도면.
도 39는 Byte Packing의 다른 예를 도시하는 도면.
도 40은 Byte Packing 처리의 시퀀스를 도시하는 도면.
도 41은 패리티의 삽입의 예를 도시하는 도면.
도 42는 전송 시스템의 동작에 관해 설명하는 플로우 차트.
도 43은 도 42의 스텝 S102에서 행하여지는 데이터 송신 처리에 관해 설명하는 플로우 차트.
도 44는 도 42의 스텝 S103에서 행하여지는 데이터 수신 처리에 관해 설명하는 플로우 차트.
도 45는 싱글 통신 링크의 처리의 흐름의 예를 도시하는 도면.
도 46은 멀티 통신 링크의 처리의 흐름의 예를 도시하는 도면.
도 47은 전송 시스템의 다른 구성례를 도시하는 도면.
도 48은 송신측 LSI와 수신측 LSI의 구성례를 도시하는 도면.
도 49는 보정 타이밍의 설정의 예를 도시하는 도면.
도 50은 통신 링크 사이 Data Skew를 물리 레이어에서 보정하는 경우의 일련의 동작에 관해 설명하는 시퀀스도.
도 51은 송신측 LSI와 수신측 LSI의 다른 구성례를 도시하는 도면.
도 52는 통신 링크 사이 Data Skew를 링크 레이어에서 보정하는 경우의 일련의 동작에 관해 설명하는 시퀀스도.
도 53은 송신측 LSI와 수신측 LSI의 다른 구성례를 도시하는 도면.
도 54는 통신 링크 사이 Data Skew를 어댑테이션 레이어에서 보정하는 경우의 일련의 동작에 관해 설명하는 시퀀스도.
도 55는 통신 링크 사이 Data Skew를 애플리케이션 레이어에서 보정하는 경우의 일련의 동작에 관해 설명하는 시퀀스도.
도 56은 전송 시스템의 다른 구성례를 도시하는 도면.
도 57은 도 56의 송신측 LSI와 수신측 LSI의 구성례를 도시하는 도면.
도 58은 통신 링크 사이 Data Skew를 송신측에서 보정하는 경우의 일련의 동작에 관해 설명하는 시퀀스도.
도 59는 컴퓨터의 구성례를 도시하는 블록도.
도 60은 내시경 수술 시스템의 개략적인 구성의 한 예를 도시하는 도면.
도 61은 도 60에 도시하는 카메라 헤드 및 CCU의 기능 구성의 한 예를 도시하는 블록도.
이하, 본 기술을 실시하기 위한 형태에 관해 설명한다. 설명은 이하의 순서로 행한다.
1. 제1의 실시의 형태(화소 데이터를 전송하는 예)
2. 제2의 실시의 형태(화소 데이터로 한하지 않고, 소정의 데이터를 전송하는 예)
3. 통신 링크 사이의 Data Skew의 보정에 관해
(1) 통신 링크 사이 Data Skew
(2) 통신 링크 사이 Data Skew의 제거
4. 변형례
5. 응용례
<1. 제1의 실시의 형태(화소 데이터를 전송하는 예)>
[전송 시스템의 구성례]
도 1은, 본 기술의 한 실시 형태에 관한 전송 시스템의 제1의 구성례를 도시하는 도면이다.
도 1의 전송 시스템(1)은, 이미지 센서(11)와 DSP(12)로 구성된다. 이미지 센서(11)와 DSP(12)는 각각 다른 LSI(Large Scale Integrated Circuit)에 의해 구성되고, 디지털 카메라나 휴대 전화기 등의, 촬상 기능을 갖는 같은 촬상 장치 내에 마련된다. 이미지 센서(11)에는 촬상부(21)와 하나의 송신부(22)가 마련되고, DSP(12)에는 하나의 수신부(31)와 화상 처리부(32)가 마련되어 있다.
이미지 센서(11)의 촬상부(21)는, CMOS(Complementary Metal Oxide Semiconductor) 등의 촬상 소자로 이루어지고, 렌즈를 통하여 수광한 광의 광전변환을 행한다. 또한, 촬상부(21)는, 광전변환에 의해 얻어진 신호의 A/D 변환 등을 행하여, 1프레임의 화상을 구성하는 화소 데이터를, 1화소의 데이터씩 차례로 송신부(22)에 출력한다.
송신부(22)는, 촬상부(21)로부터 공급된 각 화소의 데이터를, 예를 들면 촬상부(21)로부터 공급된 순서로 복수의 전송로에 할당하여, 복수의 전송로를 통하여 병렬로 DSP(12)에 송신한다. 도 1의 예에서는, 8개의 전송로를 이용하여 화소 데이터의 전송이 행하여지고 있다. 이미지 센서(11)와 DSP(12)의 사이의 전송로는 유선의 전송로라도 좋고, 무선의 전송로라도 좋다. 이하, 적절히, 이미지 센서(11)와 DSP(12)의 사이의 전송로를 레인(Lane)이라고 한다.
DSP(12)의 수신부(31)는, 8개의 레인을 통하여 송신부(22)로부터 전송되어 온 화소 데이터를 수신하고, 각 화소의 데이터를 차례로 화상 처리부(32)에 출력한다.
화상 처리부(32)는, 수신부(31)로부터 공급된 화소 데이터에 의거하여 1프레임의 화상을 생성하고, 생성한 화상을 이용하여 각종의 화상 처리를 행한다. 이미지 센서(11)로부터 DSP(12)에 전송되는 화상 데이터는 RAW 데이터이고, 화상 처리부(32)에서는, 화상 데이터의 압축, 화상의 표시, 기록 매체에 대한 화상 데이터의 기록 등의 각종의 처리가 행하여진다.
도 2는, 전송 시스템(1)의 제2의 구성례를 도시하는 도면이다. 도 2에 도시하는 구성 중, 도 1에 도시하는 구성과 같은 구성에는 같은 부호를 붙이고 있다. 중복되는 설명에 관해서는 적절히 생략한다.
도 2의 전송 시스템(1)의 이미지 센서(11)에는, 촬상부(21)와, 2개의 송신부인 송신부(22-1, 22-2)가 마련되고, DSP(12)에는, 2개의 수신부인 수신부(31-1, 31-2)와, 화상 처리부(32)가 마련되어 있다.
촬상부(21)는, 촬상을 행함에 의해 얻어진 1프레임의 화상을 구성하는 화소 데이터를, 1화소의 데이터씩, 송신부(22-1)와 송신부(22-2)에 병렬로 출력한다. 예를 들면, 촬상부(21)는, 홀수 라인의 화소의 데이터를 송신부(22-1)에 출력하고, 짝수 라인의 화소의 데이터를 송신부(22-2)에 출력한다.
송신부(22-1)는, 촬상부(21)로부터 공급된 각 화소의 데이터를, 예를 들면 촬상부(21)로부터 공급된 순서로 복수의 레인에 할당하여, 복수의 레인을 통하여 병렬로 DSP(12)에 송신한다. 송신부(22-2)도 마찬가지로, 촬상부(21)로부터 공급된 각 화소의 데이터를, 예를 들면 촬상부(21)로부터 공급된 순서로 복수의 레인에 할당하여, 복수의 레인을 통하여 병렬로 DSP(12)에 송신한다.
도 2의 예에서도 이미지 센서(11)와 DSP(12)의 사이는 8개의 레인을 통하여 접속되어 있다. 송신부(22-1)와 송신부(22-2)는, 각각, 4개의 레인을 사용하여 화소 데이터를 전송한다.
DSP(12)의 수신부(31-1)는, 4개의 레인을 통하여 송신부(22-1)로부터 전송되어 온 화소 데이터를 수신하고, 각 화소의 데이터를 차례로 화상 처리부(32)에 출력한다. 수신부(31-2)도 마찬가지로, 4개의 레인을 통하여 송신부(22-2)로부터 전송되어 온 화소 데이터를 수신하고, 각 화소의 데이터를 차례로 화상 처리부(32)에 출력한다.
화상 처리부(32)는, 수신부(31-1)로부터 공급된 화소 데이터와 수신부(31-2)로부터 공급된 화소 데이터에 의거하여 1프레임의 화상을 생성하고, 생성한 화상을 이용하여 각종의 화상 처리를 행한다.
도 2에 도시하는 바와 같이 이미지 센서(11)에 2개의 송신부를 마련하고, 그에 대응시켜서 2개의 수신부를 DSP(12)에 마련함에 의해, 촬상부(21)가 출력하는 화소 데이터의 레이트가 높은 경우라도 화소 데이터를 DSP(12)에 전송하는 것이 가능해진다.
도 3은, 전송 시스템(1)의 제3의 구성례를 도시하는 도면이다. 도 3에 도시하는 구성 중, 도 1에 도시하는 구성과 같은 구성에는 같은 부호를 붙이고 있다. 중복되는 설명에 관해서는 적절히 생략한다.
도 3의 전송 시스템(1)에서는, 이미지 센서(11-1)와 이미지 센서(11-2)의 2개의 이미지 센서가 마련되어 있다. 이미지 센서(11-1)에는 촬상부(21-1)와 하나의 송신부인 송신부(22-1)가 마련되고, 이미지 센서(11-2)에는 촬상부(21-2)와 하나의 송신부인 송신부(22-2)가 마련된다. DSP(12)에는, 도 2의 경우와 마찬가지로, 2개의 수신부인 수신부(31-1, 31-2)와, 화상 처리부(32)가 마련되어 있다.
이미지 센서(11-1)의 촬상부(21-1)는, 촬상을 행함에 의해 얻어진 1프레임의 화상을 구성하는 화소 데이터를, 1화소의 데이터씩 차례로 송신부(22-1)에 출력한다.
송신부(22-1)는, 촬상부(21-1)로부터 공급된 각 화소의 데이터를, 예를 들면 촬상부(21-1)로부터 공급된 순서로 복수의 레인에 할당하여, 복수의 레인을 통하여 병렬로 DSP(12)에 송신한다.
이미지 센서(11-2)의 촬상부(21-2)는, 촬상을 행함에 의해 얻어진 1프레임의 화상을 구성하는 화소 데이터를, 1화소의 데이터씩 차례로 송신부(22-2)에 출력한다.
송신부(22-2)는, 촬상부(21-2)로부터 공급된 각 화소의 데이터를, 예를 들면 촬상부(21-2)로부터 공급된 순서로 복수의 레인에 할당하여, 복수의 레인을 통하여 병렬로 DSP(12)에 송신한다.
도 3의 예에서도 이미지 센서측과 DSP(12)의 사이는 8개의 레인을 통하여 접속되어 있다. 이미지 센서(11-1)와 이미지 센서(11-2)에는 각각 4개의 레인이 할당되고, 송신부(22-1)와 송신부(22-2)는, 각각, 4개의 레인을 사용하여 화소 데이터를 전송한다.
DSP(12)의 수신부(31-1)는, 4개의 레인을 통하여 이미지 센서(11-1)의 송신부(22-1)로부터 전송되어 온 화소 데이터를 수신하고, 각 화소의 데이터를 차례로 화상 처리부(32)에 출력한다. 수신부(31-2)도 마찬가지로, 4개의 레인을 통하여 이미지 센서(11-2)의 송신부(22-2)로부터 전송되어 온 화소 데이터를 수신하고, 각 화소의 데이터를 차례로 화상 처리부(32)에 출력한다.
화상 처리부(32)는, 수신부(31-1)로부터 공급된 화소 데이터에 의거하여 1프레임의 화상을 생성함과 함께, 수신부(31-2)로부터 공급된 화소 데이터에 의거하여 1프레임의 화상을 생성한다. 화상 처리부(32)는, 생성한 화상을 이용하여 각종의 화상 처리를 행한다.
도 3에 도시하는 바와 같이 2개의 이미지 센서를 마련함에 의해, 예를 들면, 이미지 센서(11-1)에 의해 촬상된 좌안용의 화상과, 이미지 센서(11-2)에 의해 촬상된 우안용의 화상으로 이루어지는 3D 화상을 하나의 DSP(12)에서 처리하는 것이 가능해진다. 좌안용의 화상과 우안용의 화상에는 시차(視差)가 있다.
이상과 같이, 전송 시스템(1)의 이미지 센서에는, 촬상된 1프레임의 화상 데이터를 전송하는 송신부가 1 또는 복수 마련된다. 한편, DSP에는, 이미지 센서의 송신부에 대응하여, 이미지 센서로부터 전송되어 온 데이터를 수신하는 수신부가 1 또는 복수 마련된다.
이하, 이미지 센서(11)에 하나의 송신부가 마련되고, DSP(12)에 하나의 수신부가 마련된 도 1의 전송 시스템(1)에서의 데이터 전송에 관해 설명한다. 도 2와 도 3의 송신부(22-1) - 수신부(31-1) 사이, 송신부(22-2) - 수신부(31-2) 사이에서도 마찬가지로 하여 데이터 전송이 행하여진다.
[프레임 포맷]
도 4는, 이미지 센서(11) - DSP(12) 사이에서 1프레임의 화상 데이터를 전송하는데 이용되는 포맷의 예를 도시하는 도면이다.
유효 화소 영역(A1)은, 촬상부(21)에 의해 촬상된 1프레임의 화상의 유효 화소의 영역이다. 유효 화소 영역(A1)의 좌측에는, 수직 방향의 화소수가 유효 화소 영역(A1)의 수직 방향의 화소수와 같은 마진 영역(A2)이 설정된다.
유효 화소 영역(A1)의 상측에는, 수평 방향의 화소수가, 유효 화소 영역(A1)과 마진 영역(A2) 전체의 수평 방향의 화소수와 같은 전(前)더미 영역(A3)이 설정된다. 도 4의 예에서는, 전더미 영역(A3)에는 Embedded Data가 삽입되어 있다. Embedded Data는, 셔터 스피드, 조리개값, 게인 등의, 촬상부(21)에 의한 촬상에 관한 설정치의 정보가 포함된다. 후(後)더미 영역(A4)에 Embedded Data가 삽입되는 일도 있다.
유효 화소 영역(A1)의 하측에는, 수평 방향의 화소수가, 유효 화소 영역(A1)과 마진 영역(A2) 전체의 수평 방향의 화소수와 같은 후더미 영역(A4)이 설정된다.
유효 화소 영역(A1), 마진 영역(A2), 전더미 영역(A3), 및 후더미 영역(A4)으로 화상 데이터 영역(A11)이 구성된다.
화상 데이터 영역(A11)을 구성하는 각 라인의 앞에는 헤더가 부가되고, 헤더의 앞에는 Start Code가 부가된다. 또한, 화상 데이터 영역(A11)을 구성하는 각 라인의 뒤에는 푸터(footer)가 옵션으로 부가되고, 푸터의 뒤에는 End Code 등의 후술하는 제어 코드가 부가된다. 푸터가 부가되지 않는 경우, 화상 데이터 영역(A11)을 구성하는 각 라인의 뒤에 End Code 등의 제어 코드가 부가된다.
촬상부(21)에 의해 촬상된 1프레임의 화상을 이미지 센서(11)로부터 DSP(12)에 전송할 때마다, 도 4에 도시하는 포맷의 데이터 전체가 전송 데이터로서 전송된다.
도 4의 상측의 띠(帶)는 하측에 도시하는 전송 데이터의 전송에 이용되는 패킷의 구조를 도시하고 있다. 수평 방향의 화소의 나열을 라인이라고 하면, 패킷의 페이로드(payload)에는, 화상 데이터 영역(A11)의 1라인을 구성하는 화소의 데이터가 격납된다. 1프레임의 화상 데이터 전체의 전송은, 화상 데이터 영역(A11)의 수직 방향의 화소수 이상의 수의 패킷을 이용하여 행하여지게 된다.
1라인분의 화소 데이터가 격납된 페이로드에, 헤더와 푸터가 부가됨에 의해 1패킷이 구성된다. 후에 상세히 기술하는 바와 같이, 헤더에는, Frame Start, Frame End, Line Valid, Line Number, ECC 등의, 페이로드에 격납되어 있는 화소 데이터의 부가적인 정보가 포함된다. 각 패킷에는, 제어 코드인 Start Code와 End Code가 적어도 부가된다.
이와 같이, 1프레임의 화상을 구성하는 화소 데이터를 라인마다 전송하는 포맷을 채용함에 의해, 헤더 등의 부가적인 정보나 Start Code, End Code 등의 제어 코드를 라인마다의 블랭킹 기간 중에 전송하는 것이 가능해진다.
[송신부(22)와 수신부(31)의 구성]
도 5는, 송신부(22)와 수신부(31)의 구성례를 도시하는 도면이다.
도 5의 좌측에 파선으로 둘러싸서 도시하는 구성이 송신부(22)의 구성이고, 우측에 파선으로 둘러싸서 도시하는 구성이 수신부(31)의 구성이다. 송신부(22)와 수신부(31)는, 각각, 링크 레이어의 구성과 물리 레이어의 구성으로 이루어진다. 실선(L2)보다 상측에 도시하는 구성이 링크 레이어의 구성이고, 실선(L2)보다 하측에 도시하는 구성이 물리 레이어의 구성이다.
또한, 실선(L1)의 위에 도시하는 구성은 애플리케이션 레이어의 구성이다. 시스템 제어부(51), 프레임 데이터 입력부(52), 및 레지스터(53)는 촬상부(21)에서 실현된다. 시스템 제어부(51)는, 송신부(22)의 LINK-TX 프로토콜 관리부(61)와 통신을 행하여, 프레임 포맷에 관한 정보를 제공하는 등으로 화상 데이터의 전송을 제어한다. 프레임 데이터 입력부(52)는, 유저에 의한 지시 등에 응하여 촬상을 행하고, 촬상을 행함에 의해 얻어진 화상을 구성하는 각 화소의 데이터를 송신부(22)의 Pixel to Byte 변환부(62)에 공급한다. 레지스터(53)는, Pixel to Byte 변환의 비트수나 Lane수 등의 정보를 기억한다. 레지스터(53)에 기억되어 있는 정보에 따라 화상 데이터의 송신 처리가 행하여진다.
또한, 애플리케이션 레이어의 구성 중의 프레임 데이터 출력부(141), 레지스터(142), 및 시스템 제어부(143)는 화상 처리부(32)에서 실현된다. 프레임 데이터 출력부(141)는, 수신부(31)로부터 공급된 각 라인의 화소 데이터에 의거하여 1프레임의 화상을 생성하고, 출력한다. 프레임 데이터 출력부(141)로부터 출력된 화상을 이용하여 각종의 처리가 행하여진다. 레지스터(142)는, Byte to Pixel 변환의 비트수나 Lane수 등의, 화상 데이터의 수신에 관한 각종의 설정치를 기억한다. 레지스터(142)에 기억되어 있는 정보에 따라 화상 데이터의 수신 처리가 행하여진다. 시스템 제어부(143)는, LINK-RX 프로토콜 관리부(121)와 통신을 행하여, 모드 체인지 등의 시퀀스를 제어한다.
[송신부(22)의 링크 레이어의 구성]
처음에, 송신부(22)의 링크 레이어의 구성에 관해 설명한다.
송신부(22)에는, 링크 레이어의 구성으로서, LINK-TX 프로토콜 관리부(61), Pixel to Byte 변환부(62), 페이로드 ECC 삽입부(63), 패킷 생성부(64), 및 레인 분배부(65)가 마련된다. LINK-TX 프로토콜 관리부(61)는, 상태 제어부(71), 헤더 생성부(72), 데이터 삽입부(73), 및 푸터 생성부(74)로 구성된다.
LINK-TX 프로토콜 관리부(61)의 상태 제어부(71)는, 송신부(22)의 링크 레이어의 상태를 관리한다.
헤더 생성부(72)는, 1라인분의 화소 데이터가 격납된 페이로드에 부가되는 헤더를 생성하고, 패킷 생성부(64)에 출력한다.
도 6은, 헤더 생성부(72)에 의해 생성되는 헤더의 구조를 도시하는 도면이다.
상술한 바와 같이, 1패킷 전체는, 헤더와, 1라인분의 화소 데이터인 페이로드 데이터로 구성된다. 패킷에는 푸터가 부가되는 일도 있다. 헤더는, 헤더 정보와 Header ECC로 구성된다.
헤더 정보에는, Frame Start, Frame End, Line Valid, Line Number, Reserved가 포함된다. 각 정보의 내용과 정보량을 도 7에 도시한다.
Frame Start는, 프레임의 선두를 나타내는 1비트의 정보이다. 도 4의 화상 데이터 영역(A11)의 1라인째의 화소 데이터의 전송에 이용되는 패킷의 헤더의 Frame Start에는 1의 값이 설정되고, 다른 라인의 화소 데이터의 전송에 이용되는 패킷의 헤더의 Frame Start에는 0의 값이 설정된다.
Frame End는, 프레임의 종단을 나타내는 1비트의 정보이다. 유효 화소 영역(A1)의 종단 라인의 화소 데이터를 페이로드에 포함하는 패킷의 헤더의 Frame End에는 1의 값이 설정되고, 다른 라인의 화소 데이터의 전송에 이용되는 패킷의 헤더의 Frame End에는 0의 값이 설정된다.
Frame Start와 Frame End가, 프레임에 관한 정보인 프레임 정보가 된다.
Line Valid는, 페이로드에 격납되어 있는 화소 데이터의 라인이 유효 화소의 라인인지의 여부를 나타내는 1비트의 정보이다. 유효 화소 영역(A1) 내의 라인의 화소 데이터의 전송에 이용되는 패킷의 헤더의 Line Valid에는 1의 값이 설정되고, 다른 라인의 화소 데이터의 전송에 이용되는 패킷의 헤더의 Line Valid에는 0의 값이 설정된다.
Line Number은, 페이로드에 격납되어 있는 화소 데이터에 의해 구성되는 라인의 라인 번호를 나타내는 13비트의 정보이다.
Line Valid와 Line Number가, 라인에 관한 정보인 라인 정보가 된다.
Reserved는 확장용의 32비트의 영역이다. 헤더 정보 전체의 데이터량은 6바이트가 된다.
도 6에 도시하는 바와 같이, 헤더 정보에 계속해서 배치되는 Header ECC에는, 6바이트의 헤더 정보에 의거하여 계산된 2바이트의 오류 검출 부호인 CRC(Cyclic Redundancy Check) 부호가 포함된다. 또한, Header ECC에는, CRC 부호에 계속해서, 헤더 정보와 CRC 부호의 조인 8바이트의 정보와 같은 정보가 2개 포함된다.
즉, 하나의 패킷의 헤더에는, 같은 헤더 정보와 CRC 부호의 조가 3개 포함된다. 헤더 전체의 데이터량은, 1조째의 헤더 정보와 CRC 부호의 조의 8바이트와, 2조째의 헤더 정보와 CRC 부호의 조의 8바이트와, 3조째의 헤더 정보와 CRC 부호의 조의 8바이트의, 합쳐서 24바이트가 된다.
도 8은, 헤더 정보와 CRC 부호의 하나의 조를 구성하는 8바이트의 비트 배열의 예를 도시하는 도면이다.
헤더를 구성하는 8바이트 중의 1번째의 1바이트인 바이트(H7)에는, 1비트째부터 차례로, Frame Start, Frame End, Line Valid의 각 1비트와, Line Number의 13비트 중의 1∼5비트째가 포함된다. 또한, 2번째의 1바이트인 바이트(H6)에는, Line Number의 13비트 중의 6∼13비트째가 포함된다.
3번째의 1바이트인 바이트(H5)로부터 6번째의 1바이트인 바이트(H2)가 Reserved가 된다. 7번째의 1바이트인 바이트(H1)와 8번째의 1바이트인 바이트(H0)에는 CRC 부호의 각 비트가 포함된다.
도 5의 설명으로 되돌아, 헤더 생성부(72)는, 시스템 제어부(51)에 의한 제어에 따라 헤더 정보를 생성한다. 예를 들면, 시스템 제어부(51)로부터는, 프레임 데이터 입력부(52)가 출력하는 화소 데이터의 라인 번호를 나타내는 정보나, 프레임의 선두, 종단을 나타내는 정보가 공급된다.
또한, 헤더 생성부(72)는, 헤더 정보를 생성 다항식(生成多項式)(generator polynomial)에 적용하여 CRC 부호를 계산한다. 헤더 정보에 부가된 CRC 부호의 생성 다항식은 예를 들면 하기 식(1)에 의해 표시된다.
[수식 1]
Figure pct00001
헤더 생성부(72)는, 헤더 정보에 CRC 부호를 부가함에 의해 헤더 정보와 CRC 부호의 조를 생성하고, 같은 헤더 정보와 CRC 부호의 조를 3조 반복하여 배치함에 의해 헤더를 생성한다. 헤더 생성부(72)는, 생성한 헤더를 패킷 생성부(64)에 출력한다.
데이터 삽입부(73)는, 스터핑(stuffing)에 이용되는 데이터를 생성하고, Pixel to Byte 변환부(62)와 레인 분배부(65)에 출력한다. Pixel to Byte 변환부(62)에 공급된 스터핑 데이터인 페이로드 스터핑 데이터는, Pixel to Byte 변환 후의 화소 데이터에 부가되어, 페이로드에 격납된 화소 데이터의 데이터량의 조정에 이용된다. 또한, 레인 분배부(65)에 공급된 스터핑 데이터인 레인 스터핑 데이터는, 레인 할당 후의 데이터에 부가되어, 레인 사이의 데이터량의 조정에 이용된다.
푸터 생성부(74)는, 시스템 제어부(51)에 의한 제어에 응하여, 적절히, 페이로드 데이터를 생성 다항식에 적용하여 32비트의 CRC 부호를 계산하고, 계산에 의해 구한 CRC 부호를 푸터로서 패킷 생성부(64)에 출력한다. 푸터로서 부가되는 CRC 부호의 생성 다항식은 예를 들면 하기 식(2)에 의해 표시된다.
[수식 2]
Figure pct00002
Pixel to Byte 변환부(62)는, 프레임 데이터 입력부(52)로부터 공급된 화소 데이터를 취득하고, 각 화소의 데이터를 1바이트 단위의 데이터로 변환하는 Pixel to Byte 변환을 행한다. 예를 들면, 촬상부(21)에 의해 촬상된 화상의 각 화소의 화소치(RGB)는, 8비트, 10비트, 12비트, 14비트, 16비트 중의 어느 하나의 비트수로 표시된다.
도 9는, 각 화소의 화소치가 8비트로 표시되는 경우의 Pixel to Byte 변환의 예를 도시하는 도면이다.
Data[0]가 LSB를 나타내고, 숫자가 가장 큰 Data[7]가 MSB를 나타낸다. 속이 흰 화살표로 도시하는 바와 같이, 이 경우, 화소(N)의 화소치를 나타내는 Data[7]∼[0]의 8비트는, Data[7]∼[0]로 이루어지는 Byte N으로 변환된다. 각 화소의 화소치가 8비트로 표시되는 경우, Pixel to Byte 변환 후의 바이트 단위의 데이터의 수는, 화소의 수와 같은 수가 된다.
도 10은, 각 화소의 화소치가 10비트로 표시되는 경우의 Pixel to Byte 변환의 예를 도시하는 도면이다.
이 경우, 화소(N)의 화소치를 나타내는 Data[9]∼[0]의 10비트는, Data[9]∼[2]로 이루어지는 Byte 1.25*N로 변환된다.
화소(N+1∼N+3)에 대해서도 마찬가지로, 각각의 화소치를 나타내는 Data[9]∼[0]의 10비트가, Data[9]∼[2]로 이루어지는 Byte 1.25*N+1∼Byte 1.25*N+3으로 변환된다. 또한, 화소(N∼N+3)의 각각의 하위의 비트인 Data[1]와 Data[0]가 모아져서 Byte 1.25*N+4로 변환된다. 각 화소의 화소치가 10비트로 표시되는 경우, Pixel to Byte 변환 후의 바이트 단위의 데이터의 수는, 화소의 수의 1.25배의 수가 된다.
도 11은, 각 화소의 화소치가 12비트로 표시되는 경우의 Pixel to Byte 변환의 예를 도시하는 도면이다.
이 경우, 화소(N)의 화소치를 나타내는 Data[11]∼[0]의 12비트는, Data[11]∼[4]로 이루어지는 Byte 1.5*N로 변환된다.
화소(N+1)에 대해서도 마찬가지로, 화소(N+1)의 화소치를 나타내는 Data[11]∼[0]의 12비트가, Data[11]∼[4]로 이루어지는 Byte 1.5*N+1로 변환된다. 또한, 화소(N)와 화소(N+1)의 각각의 하위의 비트인 Data[3]∼[0]가 모아져서 Byte 1.5*N+2로 변환된다. 각 화소의 화소치가 12비트로 표시되는 경우, Pixel to Byte 변환 후의 바이트 단위의 데이터의 수는, 화소의 수의 1.5배의 수가 된다.
도 12는, 각 화소의 화소치가 14비트로 표시되는 경우의 Pixel to Byte 변환의 예를 도시하는 도면이다.
이 경우, 화소(N)의 화소치를 나타내는 Data[13]∼[0]의 14비트는, Data[13]∼[6]로 이루어지는 Byte 1.75*N로 변환된다.
화소(N+1∼N+3)에 대해서도 마찬가지로, 각각의 화소치를 나타내는 Data[13]∼[0]의 14비트가, Data[13]∼[6]로 이루어지는 Byte 1.75*N+1∼Byte 1.75*N+3으로 변환된다. 또한, 화소(N∼N+3)의 비트 중의 남은 비트가 하위의 비트로부터 예로 모아져서, 예를 들면, 화소(N)의 비트인 Data[5]∼[0]와, 화소(N+1)의 비트인 Data[5], [4]가 Byte 1.75*N+4로 변환된다.
마찬가지로, 화소(N+1)의 비트인 Data[3]∼[0]와, 화소(N+2)의 비트인 Data[5]∼[2]가 Byte 1.75*N+5로 변환되고, 화소(N+2)의 비트인 Data[1], [0]와, 화소(N+3)의 비트인 Data[5]∼[0]가 Byte 1.75*N+6로 변환된다. 각 화소의 화소치가 14비트로 표시되는 경우, Pixel to Byte 변환 후의 바이트 단위의 데이터의 수는, 화소의 수의 1.75배의 수가 된다.
도 13은, 각 화소의 화소치가 16비트로 표시되는 경우의 Pixel to Byte 변환의 예를 도시하는 도면이다.
이 경우, 화소(N)의 화소치를 나타내는 Data[15]∼[0]의 16비트는, Data[15]∼[8]로 이루어지는 Byte 2*N과 Data[7]∼[0]로 이루어지는 Byte 2*N+1로 변환된다. 각 화소의 화소치가 16비트로 표시되는 경우, Pixel to Byte 변환 후의 바이트 단위의 데이터의 수는, 화소의 수의 2배의 수가 된다.
도 5의 Pixel to Byte 변환부(62)는, 이와 같은 Pixel to Byte 변환을 예를 들면 라인의 좌단의 화소로부터 차례로 각 화소를 대상으로 하여 행한다. 또한, Pixel to Byte 변환부(62)는, Pixel to Byte 변환에 의해 얻어진 바이트 단위의 화소 데이터에, 데이터 삽입부(73)로부터 공급된 페이로드 스터핑 데이터를 부가함에 의해 페이로드 데이터를 생성하고, 페이로드 ECC 삽입부(63)에 출력한다.
도 14는, 페이로드 데이터의 예를 도시하는 도면이다.
도 14는, 각 화소의 화소치가 10비트로 표시되는 경우의 Pixel to Byte 변환에 의해 얻어진 화소 데이터를 포함하는 페이로드 데이터를 도시하고 있다. 색을 붙이지 않은 하나의 블록이, Pixel to Byte 변환 후의 바이트 단위의 화소 데이터를 나타낸다. 또한, 색을 붙이고 있는 하나의 블록이, 데이터 삽입부(73)에 의해 생성된 페이로드 스터핑 데이터를 나타낸다.
Pixel to Byte 변환 후의 화소 데이터는, 변환에 의해 얻어진 순서로, 소정의 수의 그룹으로 그룹화된다. 도 14의 예에서는, 각 화소 데이터가 그룹(0∼15)의 16그룹으로 그룹화되어 있고, 화소(P0)의 MSB를 포함하는 화소 데이터가 그룹(0)에 할당되고, 화소(P1)의 MSB를 포함하는 화소 데이터가 그룹(1)에 할당되어 있다. 또한, 화소(P2)의 MSB를 포함하는 화소 데이터가 그룹(2)에 할당되고, 화소(P3)의 MSB를 포함하는 화소 데이터가 그룹(3)에 할당되고, 화소(P0∼P3)의 LSB를 포함하는 화소 데이터가 그룹(4)에 할당되어 있다.
화소(P4)의 MSB를 포함하는 화소 데이터 이후의 화소 데이터에 대해서도, 그룹(5) 이후의 각 그룹에 차례로 할당된다. 어느 화소 데이터가 그룹(15)에 할당된 때, 그 이후의 화소 데이터는, 그룹(0) 이후의 각 그룹에 차례로 할당된다. 또한, 화소 데이터를 나타내는 블록 중, 3개의 파선이 내측에 붙여져 있는 블록은, Pixel to Byte 변환시에, 화소(N∼N+3)의 LSB를 포함하도록 하여 생성된 바이트 단위의 화소 데이터를 나타낸다.
송신부(22)의 링크 레이어에서는, 이와 같이 하여 그룹화가 행하여진 후, 클록 신호에 의해 규정된 기간마다, 각 그룹에서 같은 위치에 있는 화소 데이터를 대상으로 하여 처리가 병행하여 행하여진다. 즉, 도 14에 도시하는 바와 같이 16의 그룹에 화소 데이터가 할당된 경우, 각 열에 나열하는 16의 화소 데이터를 같은 기간 내에 처리하도록 하여 화소 데이터의 처리가 진행된다.
상술한 바와 같이, 하나의 패킷의 페이로드에는 1라인의 화소 데이터가 포함된다. 도 14에 도시하는 화소 데이터 전체가, 1라인을 구성하는 화소 데이터이다. 여기서는, 도 4의 유효 화소 영역(A1)의 화소 데이터의 처리에 관해 설명하고 있지만, 마진 영역(A2) 등의 다른 영역의 화소 데이터에 대해서도 유효 화소 영역(A1)의 화소 데이터와 함께 처리된다.
1라인분의 화소 데이터가 그룹화된 후, 각 그룹의 데이터 길이가 같은 길이가 되도록, 페이로드 스터핑 데이터가 부가된다. 페이로드 스터핑 데이터는 1바이트의 데이터이다.
도 14의 예에서는, 그룹(0)의 화소 데이터에는 페이로드 스터핑 데이터가 부가되지 않고, 파선으로 둘러싸서 도시하는 바와 같이, 그룹(1∼15)의 각 화소 데이터에는, 종단에 페이로드 스터핑 데이터가 1개씩 부가되어 있다. 화소 데이터와 스터핑 데이터로 이루어지는 페이로드 데이터의 데이터 길이(Byte)는 하기 식(3)에 의해 표시된다.
[수식 3]
Figure pct00003
식(3)의 LineLength는 라인의 화소수를 나타내고, BitPix는 1화소의 화소치를 나타내는 비트수를 나타낸다. PayloadStuffing은 페이로드 스터핑 데이터의 수를 나타낸다.
도 14에 도시하는 바와 같이 화소 데이터를 16그룹에 할당한다고 한 경우, 페이로드 스터핑 데이터의 수는 하기 식(4)에 의해 표시된다. 식(4)의 %는 잉여를 나타낸다.
[수식 4]
Figure pct00004
도 15는, 페이로드 데이터의 다른 예를 도시하는 도면이다.
도 15는, 각 화소의 화소치가 12비트로 표시되는 경우의 Pixel to Byte 변환에 의해 얻어진 화소 데이터를 포함하는 페이로드 데이터를 도시하고 있다.
도 15의 예에서는, 화소(P0)의 MSB를 포함하는 화소 데이터가 그룹(0)에 할당되고, 화소(P1)의 MSB를 포함하는 화소 데이터가 그룹(1)에 할당되고, 화소(P0)와 화소(P1)의 LSB를 포함하는 화소 데이터가 그룹(2)에 할당되어 있다. 화소(P2)의 MSB를 포함하는 화소 데이터 이후의 화소 데이터에 대해서도, 그룹(3) 이후의 각 그룹에 차례로 할당된다. 화소 데이터를 나타내는 블록 중, 하나의 파선이 내측에 붙여져 있는 블록은, Pixel to Byte 변환시에, 화소(N)와 화소(N+1)의 LSB를 포함하도록 하여 생성된 바이트 단위의 화소 데이터를 나타낸다.
도 15의 예에서는, 그룹(0)과 그룹(1)의 화소 데이터에는 페이로드 스터핑 데이터가 부가되지 않고, 그룹(2∼15)의 각 화소 데이터에는, 종단에 페이로드 스터핑 데이터가 하나씩 부가되어 있다.
이와 같은 구성을 갖는 페이로드 데이터가 Pixel to Byte 변환부(62)로부터 페이로드 ECC 삽입부(63)에 공급된다.
페이로드 ECC 삽입부(63)는, Pixel to Byte 변환부(62)로부터 공급된 페이로드 데이터에 의거하여, 페이로드 데이터의 오류 정정에 이용되는 오류 정정 부호를 계산하고, 계산에 의해 구한 오류 정정 부호인 패리티를 페이로드 데이터에 삽입한다. 오류 정정 부호로서, 예를 들면 리드솔로몬 부호(Reed-Solomon code)가 이용된다. 또한, 오류 정정 부호의 삽입은 옵션이고, 예를 들면, 페이로드 ECC 삽입부(63)에 의한 패리티의 삽입과, 푸터 생성부(74)에 의한 푸터의 부가는 어느 일방만을 행하는 것이 가능하게 된다.
도 16은, 패리티가 삽입된 페이로드 데이터의 예를 도시하는 도면이다.
도 16에 도시하는 페이로드 데이터는, 도 15를 참조하여 설명한, 각 화소의 화소치가 12비트로 표시되는 경우의 Pixel to Byte 변환에 의해 얻어진 화소 데이터를 포함하는 페이로드 데이터이다. 사선을 붙여서 나타내는 블록이 패리티를 나타낸다.
도 16의 예에서는, 그룹(0∼15)의 각 그룹의 선두의 화소 데이터로부터 차례로 14개 선택되고, 선택된 224(224바이트)개의 화소 데이터에 의거하여 2바이트의 패리티가 구하여져 있다. 2바이트의 패리티가, 그 계산에 이용된 224개의 화소 데이터에 계속해서 그룹(0, 1)의 15번째의 데이터로서 삽입되고, 224개의 화소 데이터와 2바이트의 패리티로부터 1번째의 Basic Block이 형성된다.
이와 같이, 페이로드 ECC 삽입부(63)에서는, 기본적으로, 224개의 화소 데이터에 의거하여 2바이트의 패리티가 생성되고, 224개의 화소 데이터에 계속해서 삽입된다.
또한, 도 16의 예에서는, 1번째의 Basic Block에 계속된 224개의 화소 데이터가 각 그룹으로부터 차례로 선택되고, 선택된 224개의 화소 데이터에 의거하여 2바이트의 패리티가 구하여져 있다. 2바이트의 패리티가, 그 계산에 이용된 224개의 화소 데이터에 계속해서 그룹(2, 3)의 29번째의 데이터로서 삽입되고, 224개의 화소 데이터와 2바이트의 패리티로부터 2번째의 Basic Block이 형성된다.
어느 Basic Block에 계속된 화소 데이터와 페이로드 스터핑 데이터의 수인 16×M이 224에 못 미친 경우, 남아 있는 16×M개의 블록(화소 데이터와 페이로드 스터핑 데이터)에 의거하여 2바이트의 패리티가 구하여진다. 또한, 구하여진 2바이트의 패리티가 페이로드 스터핑 데이터에 계속해서 삽입되고, 16×M개의 블록과 2바이트의 패리티로부터 Extra Block이 형성된다.
페이로드 ECC 삽입부(63)는, 패리티를 삽입한 페이로드 데이터를 패킷 생성부(64)에 출력한다. 패리티의 삽입이 행하여지지 않은 경우, Pixel to Byte 변환부(62)로부터 페이로드 ECC 삽입부(63)에 공급된 페이로드 데이터는, 그대로 패킷 생성부(64)에 출력된다.
패킷 생성부(64)는, 페이로드 ECC 삽입부(63)로부터 공급된 페이로드 데이터에, 헤더 생성부(72)에 의해 생성된 헤더를 부가함에 의해 패킷을 생성한다. 푸터 생성부(74)에 의해 푸터의 생성이 행하여지고 있는 경우, 패킷 생성부(64)는, 페이로드 데이터에 푸터를 부가하는 것도 행한다.
도 17은, 페이로드 데이터에 헤더를 부가한 상태를 도시하는 도면이다.
H7∼H0의 문자를 붙여서 나타내는 24개의 블록은, 헤더 정보, 또는 헤더 정보의 CRC 부호인, 바이트 단위의 헤더 데이터를 나타낸다. 도 6을 참조하여 설명한 바와 같이 하나의 패킷의 헤더에는, 헤더 정보와 CRC 부호의 조가 3조 포함된다.
예를 들면 헤더 데이터(H7∼H2)는 헤더 정보(6바이트)이고, 헤더 데이터(H1, H0)는 CRC 부호(2바이트)이다.
도 17의 예에서는, 그룹(0)의 페이로드 데이터에는 하나의 헤더 데이터(H7)가 부가되고, 그룹(1)의 페이로드 데이터에는 하나의 헤더 데이터(H6)가 부가되어 있다. 그룹(2)의 페이로드 데이터에는 하나의 헤더 데이터(H5)가 부가되고, 그룹(3)의 페이로드 데이터에는 하나의 헤더 데이터(H4)가 부가되어 있다. 그룹(4)의 페이로드 데이터에는 하나의 헤더 데이터(H3)가 부가되고, 그룹(5)의 페이로드 데이터에는 하나의 헤더 데이터(H2)가 부가되어 있다. 그룹(6)의 페이로드 데이터에는 하나의 헤더 데이터(H1)가 부가되고, 그룹(7)의 페이로드 데이터에는 하나의 헤더 데이터(H0)가 부가되어 있다.
또한, 도 17의 예에서는, 그룹(8)의 페이로드 데이터에는 2개의 헤더 데이터(H7)가 부가되고, 그룹(9)의 페이로드 데이터에는 2개의 헤더 데이터(H6)가 부가되어 있다. 그룹(10)의 페이로드 데이터에는 2개의 헤더 데이터(H5)가 부가되고, 그룹(11)의 페이로드 데이터에는 2개의 헤더 데이터(H4)가 부가되어 있다. 그룹(12)의 페이로드 데이터에는 2개의 헤더 데이터(H3)가 부가되고, 그룹(13)의 페이로드 데이터에는 2개의 헤더 데이터(H2)가 부가되어 있다. 그룹(14)의 페이로드 데이터에는 2개의 헤더 데이터(H1)가 부가되고, 그룹(15)의 페이로드 데이터에는 2개의 헤더 데이터(H0)가 부가되어 있다.
도 18은, 페이로드 데이터에 헤더와 푸터를 부가한 상태를 도시하는 도면이다.
F3∼F0의 문자를 붙여서 나타내는 4개의 블록은, 푸터로서 생성된 4바이트의 CRC 부호인 푸터 데이터를 나타낸다. 도 18의 예에서는, 푸터 데이터(F3∼F0)가, 그룹(0)부터 그룹(3)의 각각의 페이로드 데이터에 부가되어 있다.
도 19는, 패리티가 삽입된 페이로드 데이터에 헤더를 부가한 상태를 도시하는 도면이다.
도 19의 예에서는, 패리티가 삽입된 도 16의 페이로드 데이터에 대해, 도 17, 도 18의 경우와 마찬가지로 헤더 데이터(H7∼H0)가 부가되어 있다.
패킷 생성부(64)는, 이와 같이 하여 생성한 1패킷을 구성하는 데이터인 패킷 데이터를 레인 분배부(65)에 출력한다. 레인 분배부(65)에 대해서는, 헤더 데이터와 페이로드 데이터로 이루어지는 패킷 데이터, 헤더 데이터와 페이로드 데이터와 푸터 데이터로 이루어지는 패킷 데이터, 또는, 헤더 데이터와, 패리티가 삽입된 페이로드 데이터로 이루어지는 패킷 데이터가 공급되게 된다. 도 6의 패킷 구조는 논리적인 것이고, 링크 레이어, 물리 레이어에서는, 도 6의 구조를 갖는 패킷의 데이터가 바이트 단위로 처리된다.
레인 분배부(65)는, 패킷 생성부(64)로부터 공급된 패킷 데이터를, 선두의 데이터로부터 차례로, Lane0∼7 중의 데이터 전송에 이용하는 각 레인에 할당한다.
도 20은, 패킷 데이터의 할당의 예를 도시하는 도면이다.
여기서는, 헤더 데이터와 페이로드 데이터와 푸터 데이터로 이루어지는 패킷 데이터(도 18)의 할당에 관해 설명한다. Lane0∼7의 8레인을 사용하여 데이터 전송을 행하는 경우의 패킷 데이터의 할당의 예를 속이 흰 화살표(#1)의 끝에 도시한다.
이 경우, 헤더 데이터(H7∼H0)의 3회 반복을 구성하는 각각의 헤더 데이터는, 선두의 헤더 데이터로부터 차례로 Lane0∼7에 할당된다. 어느 헤더 데이터가 Lane7에 할당된 때, 그 이후의 헤더 데이터는, Lane0 이후의 각 레인에 차례로 할당된다. Lane0∼7의 각 레인에는 동일한 헤더 데이터가 3개씩 할당되게 된다.
또한, 페이로드 데이터는, 선두의 페이로드 데이터로부터 차례로 Lane0∼7에 할당된다. 어느 페이로드 데이터가 Lane7에 할당된 때, 그 이후의 페이로드 데이터는, Lane0 이후의 각 레인에 차례로 할당된다.
푸터 데이터(F3∼F0)는, 선두의 푸터 데이터로부터 차례로 각 레인에 할당된다. 도 20의 예에서는, 페이로드 데이터를 구성하는 최후의 페이로드 스터핑 데이터가 Lane7에 할당되어 있고, 푸터 데이터(F3∼F0)가 Lane0∼3에 1개씩 할당되어 있다.
흑색을 붙여서 나타내는 블록은 데이터 삽입부(73)에 의해 생성된 레인 스터핑 데이터를 나타낸다. 레인 스터핑 데이터는, 1패킷분의 패킷 데이터가 각 레인에 할당된 후, 각 레인에 할당된 데이터 길이가 같은 길이가 되도록, 데이터의 수가 적은 레인에 할당된다. 레인 스터핑 데이터는 1바이트의 데이터이다. 도 20의 예에서는, 데이터의 할당 수가 적은 레인인 Lane4∼7에 대해, 레인 스터핑 데이터가 1개씩 할당되어 있다.
패킷 데이터가 헤더 데이터와 페이로드 데이터와 푸터 데이터로 이루어지는 경우의 레인 스터핑 데이터의 수는 하기 식(5)에 의해 표시된다.
[수식 5]
Figure pct00005
식(5)의 LaneNum은 레인의 수를 나타내고, PayloadLength는 페이로드 데이터 길이(바이트)를 나타낸다. 또한, FooterLength는 푸터 길이(바이트)를 나타낸다.
또한, 패킷 데이터가, 헤더 데이터와, 패리티가 삽입된 페이로드 데이터로 이루어지는 경우의 레인 스터핑 데이터의 수는 하기 식(6)에 의해 표시된다. 식(6)의 ParityLength는, 페이로드에 포함되는 패리티의 총 바이트수를 나타낸다.
[수식 6]
Figure pct00006
Lane0∼5의 6레인을 사용하여 데이터 전송을 행하는 경우의 패킷 데이터의 할당의 예를 속이 흰 화살표(#2)의 끝에 도시한다.
이 경우, 헤더 데이터(H7∼H0)의 3회 반복을 구성하는 각각의 헤더 데이터는, 선두의 헤더 데이터로부터 차례로 Lane0∼5에 할당된다. 어느 헤더 데이터가 Lane5에 할당된 때, 그 이후의 헤더 데이터는, Lane0 이후의 각 레인에 차례로 할당된다. Lane0∼5의 각 레인에는 4개씩 헤더 데이터가 할당되게 된다.
또한, 페이로드 데이터는, 선두의 페이로드 데이터로부터 차례로 Lane0∼5에 할당된다. 어느 페이로드 데이터가 Lane5에 할당된 때, 그 이후의 페이로드 데이터는, Lane0 이후의 각 레인에 차례로 할당된다.
푸터 데이터(F3∼F0)는, 선두의 푸터 데이터로부터 차례로 각 레인에 할당된다. 도 20의 예에서는, 페이로드 데이터를 구성하는 최후의 페이로드 스터핑 데이터가 Lane1에 할당되어 있고, 푸터 데이터(F3∼F0)가 Lane2∼5에 1개씩 할당되어 있다. Lane0∼5의 패킷 데이터의 수가 같은 수이기 때문에, 이 경우, 레인 스터핑 데이터는 사용되지 않는다.
Lane0∼3의 4레인을 사용하여 데이터 전송을 행하는 경우의 패킷 데이터의 할당의 예를 속이 흰 화살표(#3)의 끝에 도시한다.
이 경우, 헤더 데이터(H7∼H0)의 3회 반복을 구성하는 각각의 헤더 데이터는, 선두의 헤더 데이터로부터 차례로 Lane0∼3에 할당된다. 어느 헤더 데이터가 Lane3에 할당된 때, 그 이후의 헤더 데이터는, Lane0 이후의 각 레인에 차례로 할당된다. Lane0∼3의 각 레인에는 6개씩 헤더 데이터가 할당되게 된다.
또한, 페이로드 데이터는, 선두의 페이로드 데이터로부터 차례로 Lane0∼3에 할당된다. 어느 페이로드 데이터가 Lane3에 할당된 때, 그 이후의 페이로드 데이터는, Lane0 이후의 각 레인에 차례로 할당된다.
푸터 데이터(F3∼F0)는, 선두의 푸터 데이터로부터 차례로 각 레인에 할당된다. 도 20의 예에서는, 페이로드 데이터를 구성하는 최후의 페이로드 스터핑 데이터가 Lane3에 할당되어 있고, 푸터 데이터(F3∼F0)가 Lane0∼3에 1개씩 할당되어 있다. Lane0∼3의 패킷 데이터의 수가 같은 수이기 때문에, 이 경우, 레인 스터핑 데이터는 사용되지 않는다.
레인 분배부(65)는, 이와 같이 하여 각 레인에 할당한 패킷 데이터를 물리 레이어에 출력한다. 이하, Lane0∼7의 8레인을 사용하여 데이터를 전송하는 경우에 관해 주로 설명하지만, 데이터 전송에 이용하는 레인의 수가 다른 수인 경우라도 같은 처리가 행하여진다.
[송신부(22)의 물리 레이어의 구성]
다음에, 송신부(22)의 물리 레이어의 구성에 관해 설명한다.
송신부(22)에는, 물리 레이어의 구성으로서, PHY-TX 상태 제어부(81), 클록 생성부(82), 신호 처리부(83-0 내지 83-N)가 마련된다. 신호 처리부(83-0)는, 제어 코드 삽입부(91), 8B10B 심볼 인코더(92), 동기부(93), 및 송신부(94)로 구성된다. 레인 분배부(65)로부터 출력된, Lane0에 할당된 패킷 데이터는 신호 처리부(83-0)에 입력되고, Lane1에 할당된 패킷 데이터는 신호 처리부(83-1)에 입력된다. 또한, LaneN에 할당된 패킷 데이터는 신호 처리부(83-N)에 입력된다.
이와 같이, 송신부(22)의 물리 레이어에는, 신호 처리부(83-0 내지 83-N)가 레인의 수와 같은 수만큼 마련되고, 각 레인을 사용하여 전송하는 패킷 데이터의 처리가, 신호 처리부(83-0 내지 83-N)의 각각에서 병행하여 행하여진다. 신호 처리부(83-0)의 구성에 관해 설명하지만, 신호 처리부(83-1 내지 83-N)도 같은 구성을 갖는다.
PHY-TX 상태 제어부(81)는, 신호 처리부(83-0 내지 83-N)의 각 부분을 제어한다. 예를 들면, 신호 처리부(83-0 내지 83-N)에 의해 행하여지는 각 처리의 타이밍이 PHY-TX 상태 제어부(81)에 의해 제어된다.
클록 생성부(82)는, 클록 신호를 생성하고, 신호 처리부(83-0 내지 83-N)의 각각의 동기부(93)에 출력한다.
신호 처리부(83-0)의 제어 코드 삽입부(91)는, 레인 분배부(65)로부터 공급된 패킷 데이터에 대해 제어 코드를 부가한다. 제어 코드는, 미리 준비된 복수종류의 심볼 중에서 선택된 하나의 심볼에 의해, 또는 복수종류의 심볼의 조합에 의해 표시되는 코드이다. 제어 코드 삽입부(91)에 의해 삽입되는 각 심볼은 8비트의 데이터이다. 후단의 회로에서 8B10B 변환이 행하여짐에 의해, 제어 코드 삽입부(91)에 의해 삽입된 1심볼은 10비트의 데이터가 된다. 한편, 수신부(31)에서는 후술하는 바와 같이 수신 데이터에 대해 10B8B 변환이 시행되는데, 수신 데이터에 포함되는 10B8B 변환 전의 각 심볼은 10비트의 데이터이고, 10B8B 변환 후의 각 심볼은 8비트의 데이터가 된다.
도 21은, 제어 코드 삽입부(91)에 의해 부가된 제어 코드의 예를 도시하는 도면이다.
제어 코드에는, Idle Code, Start Code, End Code, Pad Code, Sync Code, Deskew Code, Standby Code가 있다.
Idle Code는, 패킷 데이터의 전송시 이외의 기간에 반복 송신되는 심볼군이다. Idle Code는, 8B10B Code인 D Character의 D00.0(00000000)로 표시된다.
Start Code는, 패킷의 시작을 나타내는 심볼군이다. 상술한 바와 같이, Start Code는 패킷의 앞에 부가된다. Start Code는, 3종류의 K Character의 조합인 K28.5, K27.7, K28.2, K27.7의 4심볼로 표시된다. 각각의 K Character의 값을 도 22에 도시한다.
End Code는, 패킷의 종료를 나타내는 심볼군이다. 상술한 바와 같이, End Code는 패킷의 뒤에 부가된다. End Code는, 3종류의 K Character의 조합인 K28.5, K29.7, K30.7, K29.7의 4심볼로 표시된다.
Pad Code는, 화소 데이터 대역과 PHY 전송 대역의 차를 메우기 위해 페이로드 데이터 중에 삽입되는 심볼군이다. 화소 데이터 대역은, 촬상부(21)로부터 출력되고, 송신부(22)에 입력되는 화소 데이터의 전송 레이트이고, PHY 전송 대역은, 송신부(22)로부터 송신되고, 수신부(31)에 입력되는 화소 데이터의 전송 레이트이다. Pad Code는, 4종류의 K Character의 조합인 K23.7, K28.4, K28.6, K28.3의 4심볼로 표시된다.
도 23은, Pad Code의 삽입의 예를 도시하는 도면이다.
도 23의 상단은, Pad Code 삽입 전의, 각 레인에 할당된 페이로드 데이터를 나타내고, 하단은, Pad Code 삽입 후의 페이로드 데이터를 나타낸다. 도 23의 예에서는, 선두로부터 3번째의 화소 데이터와 4번째의 화소 데이터의 사이, 6번째의 화소 데이터와 7번째의 화소 데이터의 사이, 12번째의 화소 데이터와 13번째의 화소 데이터의 사이에 Pad Code가 삽입되어 있다. 이와 같이, Pad Code는, Lane0∼7의 각 레인의 페이로드 데이터의 같은 위치에 삽입된다.
Lane0에 할당된 페이로드 데이터에 대한 Pad Code의 삽입은 신호 처리부(83-0)의 제어 코드 삽입부(91)에 의해 행하여진다. 다른 레인에 할당된 페이로드 데이터에 대한 Pad Code의 삽입도 마찬가지로, 신호 처리부(83-1 내지 83-N)에서 각각 같은 타이밍에서 행하여진다. Pad Code의 수는, 화소 데이터 대역과 PHY 전송 대역의 차와, 클록 생성부(82)가 생성하는 클록 신호의 주파수 등에 의거하여 결정된다.
이와 같이, Pad Code는, 화소 데이터 대역이 좁고, PHY 전송 대역이 넓은 경우에, 쌍방의 대역의 차를 조정하기 위해 삽입된다. 예를 들면, Pad Code가 삽입됨에 의해, 화소 데이터 대역과 PHY 전송 대역의 차가 일정한 범위 내에 들어가도록 조정된다.
도 21의 설명으로 되돌아, Sync Code는, 송신부(22) - 수신부(31) 사이의 비트 동기, 심볼 동기를 확보하기 위해 이용되는 심볼군이다. Sync Code는, K28.5, Any**의 2심볼로 표시된다. Any**은, 어느 종류의 심볼이 사용되어도 좋은 것을 나타낸다. Sync Code는, 예를 들면 송신부(22) - 수신부(31) 사이에서 패킷 데이터의 전송이 시작되기 전의 트레이닝 모드시에 반복 송신된다.
Deskew Code는, 레인 사이의 Data Skew, 즉, 수신부(31)의 각 레인에서 수신되는 데이터의 수신 타이밍의 어긋남의 보정에 이용되는 심볼군이다. Deskew Code는, K28.5, Any**의 2심볼로 표시된다. Deskew Code를 이용한 레인 사이의 Data Skew의 보정에 관해서는 후술한다.
Standby Code는, 송신부(22)의 출력이 High-Z(하이 임피던스) 등의 상태가 되어, 데이터 전송이 행하여지지 않게 되는 것을 수신부(31)에 통지하기 위해 이용되는 심볼군이다. 즉, Standby Code는, 패킷 데이터의 전송을 종료하고, Standby 상태가 될 때에 수신부(31)에 대해 전송된다. Standby Code는, K28.5, Any**의 2심볼로 표시된다.
제어 코드 삽입부(91)는, 이와 같은 제어 코드를 부가한 패킷 데이터를 8B10B 심볼 인코더(92)에 출력한다.
도 24는, 제어 코드 삽입 후의 패킷 데이터의 예를 도시하는 도면이다.
도 24에 도시하는 바와 같이, 신호 처리부(83-0 내지 83-N)에서는, 각각, 패킷 데이터의 앞에 Start Code가 부가되고, 페이로드 데이터에 Pad Code가 삽입된다. 패킷 데이터의 뒤에는 End Code가 부가되고, End Code의 뒤에 Deskew Code가 부가된다. 도 24의 예에서는, Deskew Code의 뒤에 Idle Code가 부가되어 있다.
8B10B 심볼 인코더(92)는, 제어 코드 삽입부(91)로부터 공급된 패킷 데이터(제어 코드가 부가된 패킷 데이터)에 대해 8B10B 변환을 시행하여, 10비트 단위의 데이터로 변환한 패킷 데이터를 동기부(93)에 출력한다.
동기부(93)는, 8B10B 심볼 인코더(92)로부터 공급된 패킷 데이터의 각 비트를, 클록 생성부(82)에 의해 생성된 클록 신호에 따라 송신부(94)에 출력한다. 또한, 송신부(22)에 동기부(93)가 마련되지 않도록 하여도 좋다. 이 경우, 8B10B 심볼 인코더(92)로부터 출력된 패킷 데이터는, 송신부(94)에 그대로 공급된다.
송신부(94)는, Lane0을 구성하는 전송로를 통하여, 동기부(93)로부터 공급된 패킷 데이터를 수신부(31)에 송신한다. 8레인을 사용하여 데이터 전송이 행하여지는 경우, Lane1∼7을 구성하는 전송로도 이용하여 패킷 데이터가 수신부(31)에 송신된다.
[수신부(31)의 물리 레이어의 구성]
다음에, 수신부(31)의 물리 레이어의 구성에 관해 설명한다.
수신부(31)에는, 물리 레이어의 구성으로서, PHY-RX 상태 제어부(101), 신호 처리부(102-0 내지 102-N)가 마련된다. 신호 처리부(102-0)은, 수신부(111), 클록 생성부(112), 동기부(113), 심볼 동기부(114), 108B8B 심볼 디코더(115), 스큐 보정부(skew correction unit)(116), 및 제어 코드 제거부(117)로 구성된다. Lane0을 구성하는 전송로를 통하여 송신되어 온 패킷 데이터는 신호 처리부(102-0)에 입력되고, Lane1을 구성하는 전송로를 통하여 송신되어 온 패킷 데이터는 신호 처리부(102-1)에 입력된다. 또한, LaneN을 구성하는 전송로를 통하여 송신되어 온 패킷 데이터는 신호 처리부(102-N)에 입력된다.
이와 같이, 수신부(31)의 물리 레이어에는, 신호 처리부(102-0 내지 102-N)가 레인의 수와 같은 수만큼 마련되고, 각 레인을 사용하여 전송되어 온 패킷 데이터의 처리가, 신호 처리부(102-0 내지 102-N)의 각각에서 병행하여 행하여진다. 신호 처리부(102-0)의 구성에 관해 설명하지만, 신호 처리부(102-1 내지 102-N)도 같은 구성을 갖는다.
수신부(111)는, Lane0을 구성하는 전송로를 통하여 송신부(22)로부터 전송되어 온 패킷 데이터를 나타내는 신호를 수신하고, 클록 생성부(112)에 출력한다.
클록 생성부(112)는, 수신부(111)로부터 공급된 신호의 에지를 검출함에 의해 비트 동기를 취하고, 에지의 검출 주기에 의거하여 클록 신호를 생성한다. 클록 생성부(112)는, 수신부(111)로부터 공급된 신호를, 클록 신호와 함께 동기부(113)에 출력한다.
동기부(113)는, 클록 생성부(112)에 의해 생성된 클록 신호에 따라, 수신부(111)에서 수신된 신호의 샘플링을 행하여, 샘플링에 의해 얻어진 패킷 데이터를 심볼 동기부(114)에 출력한다. 클록 생성부(112)와 동기부(113)에 의해 CDR(Clock Data Recovery)의 기능이 실현된다.
심볼 동기부(114)는, 패킷 데이터에 포함되는 제어 코드를 검출함에 의해, 또는 제어 코드에 포함되는 일부의 심볼을 검출함에 의해 심볼 동기를 취한다. 예를 들면, 심볼 동기부(114)는, Start Code, End Code, Deskew Code에 포함되는 K28.5의 심볼을 검출하고, 심볼 동기를 취한다. 심볼 동기부(114)는, 각 심볼을 나타내는 10비트 단위의 패킷 데이터를 10B8B 심볼 디코더(115)에 출력한다.
또한, 심볼 동기부(114)는, 패킷 데이터의 전송이 시작되기 전의 트레이닝 모드시에 송신부(22)로부터 반복 송신되어 오는 Sync Code에 포함되는 심볼의 경계를 검출함에 의해 심볼 동기를 취한다.
10B8B 심볼 디코더(115)는, 심볼 동기부(114)로부터 공급된 10비트 단위의 패킷 데이터에 대해 10B8B 변환을 행하여, 8비트 단위의 데이터로 변환한 패킷 데이터를 스큐 보정부(116)에 출력한다.
스큐 보정부(116)는, 10B8B 심볼 디코더(115)로부터 공급된 패킷 데이터로부터 Deskew Code를 검출한다. 스큐 보정부(116)에 의한 Deskew Code의 검출 타이밍의 정보는 PHY-RX 상태 제어부(101)에 공급된다.
또한, 스큐 보정부(116)는, Deskew Code의 타이밍을, PHY-RX 상태 제어부(101)로부터 공급된 정보에 의해 표시되는 타이밍에 맞추도록 하여 레인 사이의 Data Skew를 보정한다. PHY-RX 상태 제어부(101)로부터는, 신호 처리부(102-0 내지 102-N)의 각각에서 검출된 Deskew Code의 타이밍 중, 가장 느린 타이밍을 나타내는 정보가 공급되어 온다.
도 25는, Deskew Code를 이용한 레인 사이의 Data Skew의 보정의 예를 도시하는 도면이다.
도 25의 예에서는, Lane0∼7의 각 레인에서, Sync Code, Sync Code, …, Idle Code, Deskew Code, Idle Code, …, Idle Code, Deskew Code의 전송이 행하여지고, 각각의 제어 코드가 수신부(31)에서 수신되어 있다. 같은 제어 코드의 수신 타이밍이 레인마다 다르고, 레인 사이의 Data Skew가 생겨 있는 상태가 되어 있다.
이 경우, 스큐 보정부(116)는, 1번째의 Deskew Code인 Deskew Code C1을 검출하고, Deskew Code C1의 선두의 타이밍을, PHY-RX 상태 제어부(101)로부터 공급된 정보에 의해 표시되는 시각(t1)에 맞추도록 보정한다. PHY-RX 상태 제어부(101)로부터는, Lane0∼7의 각 레인에서 Deskew Code C1이 검출된 타이밍 중, 가장 느린 타이밍인 Lane7에서 Deskew Code C1이 검출된 시각(t1)의 정보가 공급되어 온다.
또한, 스큐 보정부(116)는, 2번째의 Deskew Code인 Deskew Code C2를 검출하고, Deskew Code C2의 선두의 타이밍을, PHY-RX 상태 제어부(101)로부터 공급된 정보에 의해 표시되는 시각(t2)에 맞추도록 보정한다. PHY-RX 상태 제어부(101)로부터는, Lane0∼7의 각 레인에서 Deskew Code C2가 검출된 타이밍 중, 가장 느린 타이밍인 Lane7에서 Deskew Code C2가 검출된 시각(t2)의 정보가 공급되어 온다.
신호 처리부(102-1 내지 102-N)의 각각에서 같은 처리가 행하여짐에 의해, 도 25의 화살표(#1)의 끝에 도시하는 바와 같이 레인 사이의 Data Skew가 보정된다.
스큐 보정부(116)는, Data Skew를 보정한 패킷 데이터를 제어 코드 제거부(117)에 출력한다.
제어 코드 제거부(117)는, 패킷 데이터에 부가된 제어 코드를 제거하고, Start Code부터 End Code까지의 사이의 데이터를 패킷 데이터로서 링크 레이어에 출력한다.
PHY-RX 상태 제어부(101)는, 신호 처리부(102-0 내지 102-N)의 각 부분을 제어하고, 레인 사이의 Data Skew의 보정 등을 행하게 한다. 또한, PHY-RX 상태 제어부(101)는, 소정의 레인에서 전송 에러가 일어나 제어 코드가 소실된 경우, 소실된 제어 코드에 대신하여, 다른 레인에서 전송되어 온 제어 코드를 부가함에 의해 제어 코드의 오류 정정을 행한다.
[수신부(31)의 링크 레이어의 구성]
다음에, 수신부(31)의 링크 레이어의 구성에 관해 설명한다.
수신부(31)에는, 링크 레이어의 구성으로서, LINK-RX 프로토콜 관리부(121), 레인 통합부(122), 패킷 분리부(123), 페이로드 에러 정정부(124), 및 Byte to Pixel 변환부(125)가 마련된다. LINK-RX 프로토콜 관리부(121)는, 상태 제어부(131), 헤더 에러 정정부(132), 데이터 제거부(133), 및 푸터 에러 검출부(134)로 구성된다.
레인 통합부(122)는, 물리 레이어의 신호 처리부(102-0 내지 102-N)로부터 공급된 패킷 데이터를, 송신부(22)의 레인 분배부(65)에 의한 각 레인에의 분배순과 역순으로 재배열함에 의해 통합한다.
예를 들면, 레인 분배부(65)에 의한 패킷 데이터의 분배가 도 20의 화살표(#1)의 끝에 도시하는 바와 같이 하여 행하여지고 있는 경우, 각 레인의 패킷 데이터의 통합이 행하여짐에 의해 도 20의 좌측의 패킷 데이터가 취득된다. 각 레인의 패킷 데이터의 통합시, 데이터 제거부(133)에 의한 제어에 따라, 레인 스터핑 데이터가 레인 통합부(122)에 의해 제거된다. 레인 통합부(122)는, 통합한 패킷 데이터를 패킷 분리부(123)에 출력한다.
패킷 분리부(123)는, 레인 통합부(122)에 의해 통합된 1패킷분의 패킷 데이터를, 헤더 데이터를 구성하는 패킷 데이터와 페이로드 데이터를 구성하는 패킷 데이터로 분리한다. 패킷 분리부(123)는, 헤더 데이터를 헤더 에러 정정부(132)에 출력하고, 페이로드 데이터를 페이로드 에러 정정부(124)에 출력한다.
또한, 패킷 분리부(123)는, 패킷에 푸터가 포함되어 있는 경우, 1패킷분의 데이터를, 헤더 데이터를 구성하는 패킷 데이터와 페이로드 데이터를 구성하는 패킷 데이터와 푸터 데이터를 구성하는 패킷 데이터로 분리한다. 패킷 분리부(123)는, 헤더 데이터를 헤더 에러 정정부(132)에 출력하고, 페이로드 데이터를 페이로드 에러 정정부(124)에 출력한다. 또한, 패킷 분리부(123)는, 푸터 데이터를 푸터 에러 검출부(134)에 출력한다.
페이로드 에러 정정부(124)는, 패킷 분리부(123)로부터 공급된 페이로드 데이터에 패리티가 삽입되어 있는 경우, 패리티에 의거하여 오류 정정 연산을 행함에 의해 페이로드 데이터의 에러를 검출하고, 검출한 에러의 정정을 행한다. 예를 들면, 도 16에 도시하는 바와 같이 하여 패리티가 삽입되어 있는 경우, 페이로드 에러 정정부(124)는, 1번째의 Basic Block의 최후에 삽입되어 있는 2개의 패리티를 이용하여, 패리티의 앞에 있는 224개의 화소 데이터의 오류 정정을 행한다.
페이로드 에러 정정부(124)는, 각 Basic Block, Extra Block을 대상으로 하여 오류 정정을 행함에 의해 얻어진 오류 정정 후의 화소 데이터를 Byte to Pixel 변환부(125)에 출력한다. 패킷 분리부(123)로부터 공급된 페이로드 데이터에 패리티가 삽입되지 않은 경우, 패킷 분리부(123)로부터 공급된 페이로드 데이터는 그대로 Byte to Pixel 변환부(125)에 출력된다.
Byte to Pixel 변환부(125)는, 페이로드 에러 정정부(124)로부터 공급된 페이로드 데이터에 포함되는 페이로드 스터핑 데이터를 데이터 제거부(133)에 의한 제어에 따라 제거한다.
또한, Byte to Pixel 변환부(125)는, 페이로드 스터핑 데이터를 제거하여 얻어진 바이트 단위의 각 화소의 데이터를, 8비트, 10비트, 12비트, 14비트, 또는 16비트 단위의 화소 데이터로 변환하는 Byte to Pixel 변환을 행한다. Byte to Pixel 변환부(125)에서는, 도 9 내지 도 13을 참조하여 설명한, 송신부(22)의 Pixel to Byte 변환부(62)에 의한 Pixel to Byte 변환과 반대의 변환이 행하여진다.
Byte to Pixel 변환부(125)는, Byte to Pixel 변환에 의해 얻어진 8비트, 10비트, 12비트, 14비트, 또는 16비트 단위의 화소 데이터를 프레임 데이터 출력부(141)에 출력한다. 프레임 데이터 출력부(141)에서는, 예를 들면, 헤더 정보의 Line Valid에 의해 특정된 유효 화소의 각 라인이 Byte to Pixel 변환부(125)에 의해 얻어진 화소 데이터에 의거하여 생성되고, 헤더 정보의 Line Number에 따라 각 라인이 병렬됨에 의해 1프레임의 화상이 생성된다.
LINK-RX 프로토콜 관리부(121)의 상태 제어부(131)는, 수신부(31)의 링크 레이어의 상태를 관리한다.
헤더 에러 정정부(132)는, 패킷 분리부(123)로부터 공급된 헤더 데이터에 의거하여 헤더 정보와 CRC 부호의 조를 3조 취득한다. 헤더 에러 정정부(132)는, 헤더 정보와 CRC 부호의 조의 각 조를 대상으로 하여, 헤더 정보의 에러를 검출하기 위한 연산인 오류 검출 연산을, 그 헤더 정보와 같은 조의 CRC 부호를 이용하여 행한다.
또한, 헤더 에러 정정부(132)는, 각각의 조의 헤더 정보의 오류 검출 결과와, 오류 검출 연산에 의해 구하여진 데이터의 비교 결과 중의 적어도 어느 하나에 의거하여 올바른 헤더 정보를 추측하고, 올바르다고 추측한 헤더 정보와 복호 결과를 출력한다. 오류 검출 연산에 의해 구하여진 데이터는, 헤더 정보에 CRC의 생성 다항식을 적용함에 의해 구하여진 값이다. 또한, 복호 결과는, 복호 성공 또는 복호 실패를 나타내는 정보이다.
헤더 정보와 CRC 부호의 3개의 조를 각각 조(1), 조(2), 조(3)라고 한다. 이 경우, 헤더 에러 정정부(132)는, 조(1)를 대상으로 한 오류 검출 연산에 의해, 조(1)의 헤더 정보에 에러가 있는지의 여부(오류 검출 결과)와, 오류 검출 연산에 의해 구하여진 데이터인 데이터(1)를 취득한다. 또한, 헤더 에러 정정부(132)는, 조(2)를 대상으로 한 오류 검출 연산에 의해, 조(2)의 헤더 정보에 에러가 있는지의 여부와, 오류 검출 연산에 의해 구하여진 데이터인 데이터(2)를 취득한다. 헤더 에러 정정부(132)는, 조(3)를 대상으로 한 오류 검출 연산에 의해, 조(3)의 헤더 정보에 에러가 있는지의 여부와, 오류 검출 연산에 의해 구하여진 데이터인 데이터(3)를 취득한다.
또한, 헤더 에러 정정부(132)는, 데이터(1)와 데이터(2)가 일치하는지의 여부, 데이터(2)와 데이터(3)가 일치하는지의 여부, 데이터(3)와 데이터(1)이 일치하는지의 여부를 각각 판정한다.
예를 들면, 헤더 에러 정정부(132)는, 조(1), 조(2), 조(3)를 대상으로 한 어느 하나의 오류 검출 연산에 의해서도 오류가 검출되지 않고, 오류 검출 연산에 의해 구하여진 데이터의 어느 비교 결과도 일치한 경우, 복호 결과로서, 복호 성공을 나타내는 정보를 선택한다. 또한, 헤더 에러 정정부(132)는, 어느 헤더 정보도 올바르다고 추측하고, 조(1)의 헤더 정보, 조(2)의 헤더 정보, 조(3)의 헤더 정보 중의 어느 하나를 출력 정보로서 선택한다.
한편, 헤더 에러 정정부(132)는, 조(1)를 대상으로 한 오류 검출 연산에서만 오류가 검출되지 않은 경우, 복호 결과로서, 복호 성공을 나타내는 정보를 선택함과 함께, 조(1)의 헤더 정보가 올바르다고 추측하고, 조(1)의 헤더 정보를 출력 정보로서 선택한다.
또한, 헤더 에러 정정부(132)는, 조(2)를 대상으로 한 오류 검출 연산에서만 오류가 검출되지 않은 경우, 복호 결과로서, 복호 성공을 나타내는 정보를 선택함과 함께, 조(2)의 헤더 정보가 올바르다고 추측하고, 조(2)의 헤더 정보를 출력 정보로서 선택한다.
헤더 에러 정정부(132)는, 조(3)를 대상으로 한 오류 검출 연산에서만 오류가 검출되지 않은 경우, 복호 결과로서, 복호 성공을 나타내는 정보를 선택함과 함께, 조(3)의 헤더 정보가 올바르다고 추측하고, 조(3)의 헤더 정보를 출력 정보로서 선택한다.
헤더 에러 정정부(132)는, 이상과 같이 하여 선택한 복호 결과와 출력 정보를 레지스터(142)에 출력하고, 기억시킨다. 이와 같이, 헤더 에러 정정부(132)에 의한 헤더 정보의 오류 정정은, 복수의 헤더 정보 중에서, 에러가 없는 헤더 정보를 CRC 부호를 이용하여 검출하고, 검출한 헤더 정보를 출력하도록 하여 행하여진다.
데이터 제거부(133)는, 레인 통합부(122)를 제어하여 레인 스터핑 데이터를 제거하고, Byte to Pixel 변환부(125)를 제어하여 페이로드 스터핑 데이터를 제거한다.
푸터 에러 검출부(134)는, 패킷 분리부(123)로부터 공급된 푸터 데이터에 의거하여, 푸터에 격납된 CRC 부호를 취득한다. 푸터 에러 검출부(134)는, 취득한 CRC 부호를 이용하여 오류 검출 연산을 행하여, 페이로드 데이터의 에러를 검출한다. 푸터 에러 검출부(134)는, 오류 검출 결과를 출력하고, 레지스터(142)에 기억시킨다.
[이미지 센서(11)와 DSP(12)의 동작]
다음에, 이상과 같은 구성을 갖는 송신부(22)와 수신부(31)의 일련의 처리에 관해 설명한다.
처음에, 도 26의 플로우 차트를 참조하여, 전송 시스템(1)을 갖는 촬상 장치의 동작에 관해 설명한다. 도 26의 처리는, 예를 들면, 촬상 장치에 마련된 셔터 버튼이 눌러지는 등으로 촬상의 시작이 지시된 때에 시작된다.
스텝 S1에서, 이미지 센서(11)의 촬상부(21)는 촬상을 행한다. 촬상부(21)의 프레임 데이터 입력부(52)(도 5)는, 촬상에 의해 얻어진 1프레임의 화상을 구성하는 화소 데이터를, 1화소의 데이터씩 차례로 출력한다.
스텝 S2에서, 송신부(22)에 의해 데이터 송신 처리가 행하여진다. 데이터 송신 처리에 의해, 1라인분의 화소 데이터를 페이로드에 격납한 패킷이 생성되고, 패킷을 구성하는 패킷 데이터가 수신부(31)에 대해 송신된다. 데이터 송신 처리에 관해서는 도 27의 플로우 차트를 참조하여 후술한다.
스텝 S3에서, 수신부(31)에 의해 데이터 수신 처리가 행하여진다. 데이터 수신 처리에 의해, 송신부(22)로부터 송신되어 온 패킷 데이터가 수신되어, 페이로드에 격납되어 있는 화소 데이터가 화상 처리부(32)에 출력된다. 데이터 수신 처리에 관해서는 도 28의 플로우 차트를 참조하여 후술한다.
스텝 S2에서 송신부(22)에 의해 행하여지는 데이터 송신 처리와, 스텝 S3에서 수신부(31)에 의해 행하여지는 데이터 수신 처리는, 1라인분의 화소 데이터를 대상으로 하여 교대로 행하여진다. 즉, 어느 1라인의 화소 데이터가 데이터 송신 처리에 의해 송신된 때, 데이터 수신 처리가 행하여지고, 데이터 수신 처리에 의해 1라인의 화소 데이터가 수신된 때, 다음의 1라인의 화소 데이터를 대상으로 하여 데이터 송신 처리가 행하여진다. 송신부(22)에 의한 데이터 송신 처리와, 수신부(31)에 의한 데이터 수신 처리는, 적절히, 시간적으로 병행하여 행하여지는 일도 있다. 스텝 S4에서, 화상 처리부(32)의 프레임 데이터 출력부(141)는, 1프레임의 화상을 구성하는 모든 라인의 화소 데이터의 송수신이 종료되었는지의 여부를 판정하고, 종료하지 않았다고 판정한 경우, 스텝 S2 이후의 처리를 반복하여 행하게 한다.
1프레임의 화상을 구성하는 모든 라인의 화소 데이터의 송수신이 종료되었다고 스텝 S4에서 판정한 경우, 스텝 S5에서, 화상 처리부(32)의 프레임 데이터 출력부(141)는, 수신부(31)로부터 공급된 화소 데이터에 의거하여 1프레임의 화상을 생성한다.
스텝 S6에서, 화상 처리부(32)는, 1프레임의 화상을 이용하여 화상 처리를 행하고, 처리를 종료시킨다.
다음에, 도 27의 플로우 차트를 참조하여, 도 26의 스텝 S2에서 행하여지는 데이터 송신 처리에 관해 설명한다.
스텝 S11에서, 헤더 생성부(72)는, Frame Start, Frame End, Line Valid, Line Number, Reserved로 이루어지는 헤더 정보를 생성한다.
스텝 S12에서, 헤더 생성부(72)는, 헤더 정보를 생성 다항식에 적용하여 CRC 부호를 계산한다.
스텝 S13에서, 헤더 생성부(72)는, 헤더 정보에 CRC 부호를 부가함에 의해 헤더 정보와 CRC 부호의 조를 생성하고, 같은 헤더 정보와 CRC 부호의 조를 3조 반복하여 배치함에 의해 헤더를 생성한다.
스텝 S14에서, Pixel to Byte 변환부(62)는, 프레임 데이터 입력부(52)로부터 공급된 화소 데이터를 취득하고, Pixel to Byte 변환을 행한다. Pixel to Byte 변환부(62)는, Pixel to Byte 변환에 의해 얻어진 바이트 단위의 화소 데이터의 그룹화, 페이로드 스터핑 데이터의 부가 등을 행함에 의해 생성한 페이로드 데이터를 출력한다. 페이로드 데이터에 대해서는, 적절히, 페이로드 ECC 삽입부(63)에 의해 패리티가 삽입된다.
스텝 S15에서, 패킷 생성부(64)는, 1라인분의 화소 데이터를 포함하는 페이로드 데이터와, 헤더 생성부(72)에 의해 생성된 헤더에 의거하여 패킷을 생성하고, 1패킷을 구성하는 패킷 데이터를 출력한다.
스텝 S16에서, 레인 분배부(65)는, 패킷 생성부(64)로부터 공급된 패킷 데이터를, 데이터 전송에 이용되는 복수의 레인에 할당한다.
스텝 S17에서, 제어 코드 삽입부(91)는, 레인 분배부(65)로부터 공급된 패킷 데이터에 제어 코드를 부가한다.
스텝 S18에서, 8B10B 심볼 인코더(92)는, 제어 코드가 부가된 패킷 데이터의 8B10B 변환을 행하여, 10비트 단위의 데이터로 변환한 패킷 데이터를 출력한다.
스텝 S19에서, 동기부(93)는, 8B10B 심볼 인코더(92)로부터 공급된 패킷 데이터를, 클록 생성부(82)에 의해 생성된 클록 신호에 따라 출력하고, 송신부(94)로부터 송신시킨다. 스텝 S17 내지 S19의 처리는 신호 처리부(83-0 내지 83-N)에 의해 병행하여 행하여진다. 1라인분의 화소 데이터의 송신이 종료된 때, 도 26의 스텝 S2로 되돌아와 그 이후의 처리가 행하여진다.
다음에, 도 28의 플로우 차트를 참조하여, 도 26의 스텝 S3에서 행하여지는 데이터 수신 처리에 관해 설명한다.
스텝 S31에서, 수신부(111)는, 송신부(22)로부터 전송되어 온 패킷 데이터를 나타내는 신호를 수신한다. 스텝 S31 내지 S36의 처리는 신호 처리부(102-0 내지 102-N)에 의해 병행하여 행하여진다.
스텝 S32에서, 클록 생성부(112)는, 수신부(111)로부터 공급된 신호의 에지를 검출함에 의해 비트 동기를 취한다. 동기부(113)는, 수신부(111)에서 수신된 신호의 샘플링을 행하여, 패킷 데이터를 심볼 동기부(114)에 출력한다.
스텝 S33에서, 심볼 동기부(114)는, 패킷 데이터에 포함되는 제어 코드를 검출하는 등으로 심볼 동기를 취한다.
스텝 S34에서, 10B8B 심볼 디코더(115)는, 심볼 동기 후의 패킷 데이터에 대해 10B8B 변환을 행하여, 8비트 단위의 데이터로 변환한 패킷 데이터를 출력한다.
스텝 S35에서, 스큐 보정부(116)는, Deskew Code를 검출하고, 상술한 바와 같이, Deskew Code의 타이밍을 PHY-RX 상태 제어부(101)로부터 공급된 정보에 의해 표시되는 타이밍에 맞추도록 하여 레인 사이의 Data Skew를 보정한다.
스텝 S36에서, 제어 코드 제거부(117)는, 패킷 데이터에 부가된 제어 코드를 제거한다.
스텝 S37에서, 레인 통합부(122)는, 신호 처리부(102-0 내지 102-N)로부터 공급된 패킷 데이터를 통합한다.
스텝 S38에서, 패킷 분리부(123)는, 레인 통합부(122)에 의해 통합된 패킷 데이터를, 헤더 데이터를 구성하는 패킷 데이터와 페이로드 데이터를 구성하는 패킷 데이터로 분리한다.
스텝 S39에서, 헤더 에러 정정부(132)는, 패킷 분리부(123)에 의해 분리된 헤더 데이터에 포함되는 헤더 정보와 CRC 부호의 각 조를 대상으로 하여 CRC 부호를 이용한 오류 검출 연산을 행한다. 또한, 헤더 에러 정정부(132)는, 각 조의 오류 검출 결과와, 오류 검출 연산에 의해 구하여진 데이터의 비교 결과에 의거하여 에러가 없는 헤더 정보를 선택하고, 출력한다.
스텝 S40에서, Byte to Pixel 변환부(125)는, 페이로드 데이터의 Byte to Pixel 변환을 행하여, 8비트, 10비트, 12비트, 14비트, 또는 16비트 단위의 화소 데이터를 출력한다. Byte to Pixel 변환의 대상이 되는 페이로드 데이터에 대해서는, 적절히, 패리티를 이용한 오류 정정이 페이로드 에러 정정부(124)에 의해 행하여진다.
1라인분의 화소 데이터의 처리가 종료된 때, 도 26의 스텝 S3으로 되돌아와 그 이후의 처리가 행하여진다.
이미지 센서(11)와 DSP(12)의 사이에서의 데이터 전송은, 이상과 같이, 1프레임의 1라인이 1패킷에 상당하는 패킷 포맷을 이용하여 행하여진다.
이미지 센서(11)와 DSP(12) 사이의 데이터 전송에 이용되는 패킷 포맷은, 헤더 정보나, Start Code, End Code 등의 패킷 경계를 나타내는 제어 코드의 전송을 최소한으로 억제하는 포맷이라고 말하고, 전송 효율의 저하를 막는 것이 가능해진다. 가령, 1패킷의 페이로드에 격납된 화소 데이터가 1라인보다 적은 패킷 포맷을 채용한 경우, 1프레임 전체의 화소 데이터를 전송하기 위해서는 보다 많은 패킷을 전송할 필요가 있고, 전송하는 헤더 정보나 제어 코드의 수가 많아지는 분만큼, 전송 효율이 저하되어 버린다.
또한, 전송 효율의 저하를 막음에 의해 전송 대기시간을 억제하는 것이 가능해지고, 대량의 화상 데이터를 고속으로 전송할 필요가 있는 고화소·고프레임 레이트의 인터페이스를 실현할 수 있다.
전송의 신뢰도/용장도를 올려서 수신부(31)측에서 오류 정정을 행하는 것을 전제로 한 패킷 포맷을 채용함에 의해, 헤더 정보의 전송 에러 대책을 확보하는 것이 가능해진다. Frame/Line(V/H)의 동기 정보 등의 전송이 헤더 정보를 이용하여 행하여지기 때문에, 헤더 정보가 전송 에러로 소실되면, 시스템상, 큰 부적합함이 될 가능성이 있지만, 그와 같은 것을 막을 수 있다.
또한, 헤더 정보의 전송 에러 대책을 확보하기 위한 실장(實裝) 비용이나 소비 전력의 증대를 억제 할 수도 있다. 즉, 이미지 센서(11)와 DSP(12) 사이의 데이터 전송에 이용되는 패킷 포맷은, CRC 부호가 부가되어 있음으로써, 헤더 정보의 전송 에러의 유무를 DSP(12)에서 검출할 수 있도록 되어 있다. 또한, 헤더 정보와 CRC 부호의 조를 3조 전송함으로써, 헤더 정보의 전송 에러가 생긴 경우에 DSP(12)에서 올바른 헤더 정보로 정정할 수 있도록 되어 있다.
가령, 헤더 정보의 전송 에러 대책으로서 오류 정정 부호를 이용한다고 한 경우, 오류 정정 부호의 계산을 행하는 회로를 송신부(22)에 준비함과 함께, 오류 정정 연산을 행하는 회로를 수신부(31)에 준비할 필요가 있게 된다. 헤더 정보에 부가되는 것은 오류 검출 부호인 CRC 부호이기 때문에, 오류 정정에 관한 연산을 행하는 회로를 준비하는 경우에 비하여, 회로 규모, 소비 전력을 작게 할 수 있다. 또한, 헤더 정보의 오류를 검출한 경우에 헤더 정보의 재발송을 수신부(31)가 송신부(22)에 대해 요구하는 것도 행하여지지 않기 때문에, 재발송 요구를 위한 역방향의 전송로를 준비할 필요가 없다.
용장도를 올려서, 8B10B 코드의 복수의 K Character을 조합시켜서 제어 코드를 구성함에 의해, 제어 코드의 에러 확률을 저감시킬 수 있고, 이에 의해, 비교적 간단한 회로로 제어 코드의 전송 에러 대책을 확보하는 것이 가능해진다.
구체적으로는, Start Code에는 3종류의 K Character을 4심볼 조합시켜서 이용하고 있는데 적어도 K28.5 이외의 심볼을 검출할 수 있다면 수신부(31)에서 Start Code를 특정할 수 있고, 전송 에러에 대한 내성이 높다고 말할 수 있다. End Code에 대해서도 마찬가지이다.
또한, Pad Code에 4종류의 K Character을 조합시켜서 이용하고 있는데, 다른 제어 코드보다 많은 종류의 K Character을 할당함에 의해, 다른 제어 코드보다 에러 내성을 올리는 것이 가능해진다. 즉, 4종류 중의 1종류의 심볼을 검출할 수 있으면 수신부(31)에서 Pad Code를 특정할 수 있다. Pad Code는, 전송 빈도가 Start Code나 End Code 등 보다도 높기 때문에, 보다 에러 내성을 올릴 수 있는 구조를 갖게 하고 있다.
또한, 레인마다, 같은 제어 코드를 같은 타이밍에서 전송함에 의해, 하나의 레인에서 전송 에러가 일어나 제어 코드가 소실된 경우에도, 다른 레인의 제어 코드를 이용하여, 에러가 된 제어 코드를 재현할 수 있다.
또한, K Character의 수가 한정되어 있기 때문에, 필요 최소한의 K Character을 조합하여 각각의 제어 코드를 구성하도록 되어 있다. 예를 들면, 반복 송신함에 의해 전송 에러를 비교적 허용할 수 있는 Sync Code, Deskew Code, Standby Code에 관해서는, K Character을 추가로 할당할 필요가 없는 데이터 구조를 이용하고 있다.
재동기시키기 위해 필요한 제어 코드가 1패킷(1라인)마다 할당되어 있기 때문에, 정전기 등 외란이나 노이즈 등에 의해 비트 동기가 벗어나 버린 경우에 재동기를 신속하게 취할 수 있다. 또한, 동기 어긋남에 의한 전송 에러의 영향을 최소한으로 억제할 수 있다.
구체적으로는, 클록 생성부(112)와 동기부(113)에 의해 실현되는 CDR에서 8B10B 변환 후의 비트 데이터의 천이/에지를 검출함으로써 비트 동기를 취할 수 있다. 송신부(22)가 데이터를 계속 보내고 있으면, CDR 로크 시간으로서 상정된 기간 내에 비트 동기를 취할 수 있게 된다.
또한, 심볼 동기가 벗어나고 버린 경우에도, 특정한 K Character(K28.5)를 심볼 동기부(114)에서 검출함에 의해 재동기를 신속하게 취할 수 있다. K28.5는 Start Code, End Code, Deskew Code에 각각 이용되고 있기 때문에, 1패킷분의 패킷 데이터의 전송 기간 중에, 3개소에서 심볼 동기를 취하는 것이 가능해진다.
또한, Deskew Code를 이용하여 레인 사이의 Data Skew를 보정할 수 있도록 함에 의해, 레인 사이의 동기를 취할 수도 있다.
링크 레이어에서, 16개씩 등의 그룹 단위(도 14의 예인 경우, 16바이트 단위)로 각 패킷 데이터가 병렬 처리되도록 함에 의해, 1클록 주기에 하나씩 패킷 데이터를 처리하는 경우에 비하여, 회로 규모나 메모리량을 억제할 수 있다. 실장상, 패킷 데이터를 하나씩 처리하는 경우와 소정의 단위마다 한데 묶어서 처리하는 경우에서, 후자의 쪽이 회로 규모 등을 억제할 수 있다. 회로 규모를 억제할 수 있음에 의해, 소비 전력을 억제하는 것도 가능해진다.
또한, 레인 할당할 때, 연속하는 패킷 데이터를 다른 레인에 할당함에 의해 에러 내성을 높일 수 있다. 어느 레인에서 패리티의 오류 정정 능력을 초과한 수의 연속하는 패킷 데이터에 걸쳐서 에러가 생긴 경우라도, 수신부(31)에서 레인 결합이 행하여짐에 의해, 에러가 생긴 패킷 데이터의 위치가 분산되게 되어, 패리티를 이용한 에러 정정이 가능해지는 일이 있다. 패리티에 의한 오류 정정 능력은 패리티 길이에 의해 정해진다.
또한, 물리 레이어에 가까운 쪽을 하위로서, 레인 분배·레인 통합보다 상위에서 ECC 처리를 행하도록 함에 의해, 송신부(22)와 수신부(31)의 회로 규모를 삭감하는 것이 가능해진다. 예를 들면, 송신부(22)에서, 패킷 데이터의 각 레인에의 할당이 행하여진 후에 페이로드에 ECC의 패리티가 삽입된다고 한 경우, 페이로드 ECC 삽입부를 레인마다 준비할 필요가 있고, 회로 규모가 커져 버리지만 그와 같은 것을 막을 수 있다.
물리 레이어에서는 패킷 데이터의 병렬 처리가 복수의 회로에서 행하여지지만, PHY-TX 상태 제어부(81)나 클록 생성부(82)에 관해서는 공통화함에 의해, 그들의 회로를 레인마다 준비하는 경우에 비교하여 회로의 간소화를 도모할 수 있다. 또한, 레인마다 다른 제어 코드를 전송하지 않는 프로토콜을 이용함에 의해, 각 레인의 패킷 데이터를 처리하는 회로의 간소화를 도모할 수 있다.
[레인수의 전환]
각 레인에서 같은 제어 코드를 같은 타이밍에서 전송하는 것은, 통상의 데이터 전송시뿐만 아니라, 예를 들면 레인수를 전환하는 경우에도 행하여진다. 레인수를 전환하는 경우에서도, 액티브한 레인(데이터 전송에 사용되는 레인)의 상태는 전부 같은 상태가 된다.
도 29는, 레인수를 전환하는 경우의 제어 시퀀스를 도시하는 도면이다.
도 29의 우측에 수직 동기 신호(XVS), 수평 동기 신호(XHS)의 타이밍을 나타낸다. 수직 동기 신호가 검출된 시각(t1)까지의 사이에 1프레임의 화상을 구성하는 각 라인의 화소 데이터가 수평 동기 신호에 따라 전송되고, 시각(t1)의 타이밍에서, 액티브한 레인을 4레인에서 2레인으로 변경하는 경우에 관해 설명한다. 시각(t1)까지는, 4개의 레인을 사용하여 데이터 전송이 행하여지고 있다.
도 29의 거의 중앙에는 종방향으로 각 레인의 상태를 도시하고 있다. 「PIX DATA」는, 그 문자가 붙여져 있는 레인에서 화소 데이터의 전송이 행하여지고 있는 것을 나타낸다. 「PIX DATA」에 계속된 「E」, 「BLK」, 「S」는, 각각, Frame End, 블랭킹 기간, Frame Start를 나타낸다.
시각(t1)까지의 1프레임 기간에 전송하는 프레임의 화소 데이터의 전송이 종료된 경우, 스텝 S81에서, 화상 처리부(32)는, 수신부(31)에 대해 레인수를 4로부터 2로 전환할 것을 지시한다. 화상 처리부(32)에 의한 지시는 스텝 S71에서 수신부(31)에 의해 수신된다.
시각(t1)이 되었을 때, 스텝 S82에서, 화상 처리부(32)는, 이미지 센서(11)의 촬상부(21)에 대해, 모드 체인지를 요구한다. 촬상부(21)에 대해 송신되는 모드 체인지의 요구에는, 레인수를 4로부터 2로 전환할 것을 나타내는 정보도 포함되어 있다. 도 1 등에는 도시하고 있지 않지만, 촬상부(21)와 화상 처리부(32)의 사이에는, 셔터 스피드, 게인 등의 촬상에 관한 설정치의 정보를 화상 처리부(32)가 촬상부(21)에 대해 송신하기 위한 전송로가 마련되어 있다. 모드 체인지의 요구도 이 전송로를 통하여 촬상부(21)에 송신된다.
스텝 S51에서, 촬상부(21)는, 화상 처리부(32)로부터의 모드 체인지의 요구를 수신하고, 스텝 S52에서, 송신부(22)에 대해 레인수를 4로부터 2로 전환할 것을 지시한다. 촬상부(21)에 의한 지시는 스텝 S61에서 송신부(22)에 의해 수신된다.
송신부(22)와 수신부(31)의 사이에서는 Standby Sequence가 행하여지고, Lane0∼3을 사용하여 Standby Code가 송신부(22)로부터 수신부(31)에 반복하여 전송된다. Standby Sequence가 종료된 때, 스텝 S72에서, 수신부(31)로부터 상태의 검출 결과가 출력되고, 스텝 S83에서 화상 처리부(32)에 의해 수신된다. 또한, 액티브한 상태를 유지하는 Lane0과 Lane1에 관해서는 Low의 상태가 되고, 데이터 전송을 종료하는 Lane2과 Lane3에 관해서는 High-Z의 상태가 된다.
송신부(22)와 수신부(31)의 사이에서는 Training Sequence가 행하여지고, Lane0과 Lane1을 사용하여 Sync Code가 송신부(22)로부터 수신부(31)에 반복하여 전송된다. 수신부(31)에서는 비트 동기가 확보되고, Sync Code가 검출됨에 의해 심볼 동기가 확보된다.
Training Sequence가 종료된 때, 스텝 S73에서, 수신부(31)는, 화상 처리부(32)에 대해 준비가 완료된 것을 통지한다. 수신부(31)에 의한 통지는 스텝 S84에서 화상 처리부(32)에 의해 수신되어, 레인수를 전환하는 경우의 일련의 제어 시퀀스가 종료된다.
이와 같이, 레인수를 전환하는 제어 시퀀스에서는, 계속해서 데이터 전송에 사용되는 Lane0, 1과 같은 상태가 되도록, 데이터 전송을 종료하는 Lane2, 3에서도 Standby Sequence시에 Standby Code가 전송된다. 예를 들면, Lane2, 3에 관해서는, Standby Code의 전송을 행하지 않고서 그대로 High-Z의 상태로 하는 것도 생각되지만, 계속해서 데이터 전송에 사용되는 레인과 다른 상태가 되어 버려, 제어가 복잡하게 된다.
[프레임 포맷의 변형례]
도 30은, 이미지 센서(11) - DSP(12) 사이의 데이터 전송에 이용되는 프레임 포맷의 다른 예를 도시하는 도면이다. 상술한 설명과 중복되는 설명에 관해서는 적절히 생략한다.
도 30에 도시하는 프레임 포맷은, 각 라인의 화상 데이터에 부가되는 헤더에 태선(L11)로 둘러싸는 Embedded Line, Data ID, Region Number의 3개의 데이터가 추가되어 있는 점에서 도 4의 포맷과 다르다. 도 5의 헤더 생성부(72)에 의해 이들의 정보가 생성되고, 헤더에 부가되게 된다.
도 31은, 도 30의 프레임 포맷의 1패킷을 확대하여 도시하는 도면이다. 하나의 패킷은, 헤더와, 1라인분의 화소 데이터인 페이로드 데이터로 구성된다. 패킷에는 푸터가 부가되는 일도 있다. 각 패킷의 선두에는 Start Code가 부가되고, 뒤에는 End Code가 부가된다.
헤더 정보에는, 상술한 Frame Start, Frame End, Line Valid, Line Number에 더하여, 라인 정보로서의 Embedded Line, 데이터 식별로서의 Data ID, 및 영역 정보로서의 Region Number가 포함된다. 각 정보의 내용을 도 32에 도시한다.
Embedded Line은, Embedded Data가 삽입되어 있는 라인의 전송에 이용되는 패킷인지의 여부를 나타내는 1비트의 정보이다. 예를 들면, Embedded Data를 포함하는 라인의 전송에 이용되는 패킷의 헤더의 Embedded Line에는 1의 값이 설정되고, 다른 라인의 전송에 이용되는 패킷의 헤더의 Embedded Line에는 0의 값이 설정된다. 상술한 바와 같이, 촬상에 관한 설정치의 정보가, Embedded Data로서 전더미 영역(A3)이나 후더미 영역(A4)의 소정의 라인에 삽입된다.
Data ID는, 멀티 스트림 전송에서의 데이터의 ID나 데이터 종류별을 나타내는 P비트의 정보이다. P비트는 1비트 이상의 소정 수의 비트를 나타낸다. 멀티 스트림 전송은, 하나의 송신부와 하나의 수신부의 조를 복수 이용하여 행하여지는 데이터 전송이다.
Region Number은, 페이로드에 격납되어 있는 화소 데이터가, 촬상부(21)의 어느 영역의 데이터인지를 나타내는 1비트의 정보이다. 이들 3개의 데이터가 추가됨에 의해, Reserved는 30-P비트가 된다.
<2. 제2의 실시의 형태(화소 데이터로 한하지 않고, 소정의 데이터를 전송하는 예)>
상술한 복수의 레인을 사용한 칩 사이의 데이터 전송은, 화상 데이터뿐만 아니라 각종의 데이터의 전송에도 이용할 수 있다.
이하, 적절히, CMOS 등의 이미지 센서로부터 출력된 화소 데이터의 전송에 이용되는 상술한 I/F를 CIS(CMOS Image Sensor) I/F라고 하고, 각종의 데이터의 전송에 이용되는 I/F를 범용 I/F라고 한다. 범용 I/F를 이용하여, 화상 데이터뿐만 아니라, 오디오 데이터, 텍스트 데이터 등의 각종의 데이터가 송신측의 칩부터 수신측의 칩에 대해 전송된다.
[전송 시스템의 구성례]
도 33은, 범용 I/F를 이용한 전송 시스템의 제1의 구성례를 도시하는 도면이다.
도 33의 전송 시스템(301)은 송신측 LSI(311)와 수신측 LSI(312)로 구성된다. 송신측 LSI(311)와 수신측 LSI(312)는 예를 들면 같은 장치 내에 마련된다. 송신측 LSI(311)에는 정보 처리부(321)와 하나의 송신부(322)가 마련되고, 수신측 LSI(312)에는 하나의 수신부(331)와 정보 처리부(332)가 마련되어 있다.
송신측 LSI(311)의 정보 처리부(321)는, 각종의 데이터의 처리를 행하여, 송신 대상의 데이터를 송신부(322)에 출력한다. 정보 처리부(321)로부터는, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144비트 등의 각종의 비트폭의 데이터가 출력된다.
송신부(322)는, 정보 처리부(321)로부터 공급된 데이터를, 예를 들면 정보 처리부(321)로부터 공급된 순서로 복수의 레인에 할당하여, 병렬로 수신측 LSI(312)에 송신한다. 도 33의 예에서도, 8개의 레인을 사용하여 데이터의 전송이 행하여지고 있다. 송신측 LSI(311)와 수신측 LSI(312) 사이의 전송로는 유선의 전송로라도 좋고, 무선의 전송로라도 좋다.
수신측 LSI(312)의 수신부(331)는, 8개의 레인을 사용하여 송신부(322)로부터 송신되어 온 데이터를 수신하고, 정보 처리부(332)에 출력한다.
정보 처리부(332)는, 수신부(331)로부터 공급된 데이터에 의거하여, 송신측 LSI(311)측에서 송신 대상으로서 선택된 데이터를 생성하고, 생성한 데이터를 이용하여 각종의 처리를 행한다. 송신 대상의 데이터가 예를 들면 오디오 데이터인 경우, 오디오 데이터의 재생, 압축 등의 처리가 행하여진다.
도 34는, 전송 시스템(301)의 제2의 구성례를 도시하는 도면이다. 도 34에 도시하는 구성 중, 도 33에 도시하는 구성과 같은 구성에는 같은 부호를 붙이고 있다. 중복되는 설명에 관해서는 적절히 생략한다.
도 34의 전송 시스템(301)의 송신측 LSI(311)에는, 정보 처리부(321)와, 2개의 송신부인 송신부(322-1, 322-2)가 마련되고, 수신측 LSI(312)에는, 2개의 수신부인 수신부(331-1, 331-2)와, 정보 처리부(332)가 마련되어 있다.
정보 처리부(321)는, 송신 대상의 데이터를 분할하여, 송신부(322-1)와 송신부(322-2)에 출력한다.
송신부(322-1)는, 정보 처리부(321)로부터 공급된 데이터를, 예를 들면 정보 처리부(321)로부터 공급된 순서로 복수의 레인에 할당하여, 수신측 LSI(312)에 송신한다. 송신부(322-2)도 마찬가지로, 정보 처리부(321)로부터 공급된 데이터를, 예를 들면 정보 처리부(321)로부터 공급된 순서로 복수의 레인에 할당하여, 수신측 LSI(312)에 송신한다.
도 34의 예에서도 송신측 LSI(311)와 수신측 LSI(312)의 사이는 8개의 레인을 사용하여 접속되어 있다. 송신부(322-1)와 송신부(322-2)는, 각각, 4개의 레인을 사용하여 데이터를 전송한다.
수신측 LSI(312)의 수신부(331-1)는, 4개의 레인을 사용하여 송신부(322-1)로부터 송신되어 온 데이터를 수신하고, 정보 처리부(332)에 출력한다. 수신부(331-2)도 마찬가지로, 4개의 레인을 사용하여 송신부(322-2)로부터 전송되어 온 데이터를 수신하고, 정보 처리부(332)에 출력한다.
정보 처리부(332)는, 수신부(331-1)로부터 공급된 데이터와 수신부(331-2)로부터 공급된 데이터에 의거하여 송신 대상의 데이터를 생성하고, 생성한 데이터를 대상으로 하여 각종의 처리를 행한다.
도 34에 도시하는 바와 같이 송신측 LSI(311)에 2개의 송신부를 마련하고, 그것에 대응시켜서 2개의 수신부를 수신측 LSI(312)에 마련함에 의해, 정보 처리부(321)가 출력하는 데이터의 전송 레이트가 높은 경우라도 데이터를 수신측 LSI(312)에 전송하는 것이 가능해진다.
도 35는, 전송 시스템(301)의 제3의 구성례를 도시하는 도면이다. 도 35에 도시하는 구성 중, 도 33에 도시하는 구성과 같은 구성에는 같은 부호를 붙이고 있다. 중복되는 설명에 관해서는 적절히 생략한다.
도 35의 전송 시스템(301)에서는, 송신측의 LSI로서, 송신측 LSI(311-1)와 송신측 LSI(311-2)의 2개의 LSI가 마련되어 있다. 송신측 LSI(311-1)에는 정보 처리부(321-1)와 하나의 송신부인 송신부(322-1)가 마련되고, 송신측 LSI(311-2)에는 정보 처리부(321-2)와 하나의 송신부인 송신부(322-2)가 마련된다. 수신측 LSI(312)에는, 도 34의 경우와 마찬가지로, 2개의 수신부인 수신부(331-1, 331-2)와, 정보 처리부(332)가 마련되어 있다.
송신측 LSI(311-1)의 정보 처리부(321-1)는, 송신 대상의 데이터를 송신부(322-1)에 출력한다.
송신부(322-1)는, 정보 처리부(321-1)로부터 공급된 데이터를 복수의 레인에 할당하여, 수신측 LSI(312)에 송신한다.
송신측 LSI(311-2)의 정보 처리부(321-2)는, 송신 대상의 데이터를 송신부(322-2)에 출력한다.
송신부(322-2)는, 정보 처리부(321-2)로부터 공급된 데이터를 복수의 레인에 할당하여, 수신측 LSI(312)에 송신한다.
도 35의 예에서도 송신측의 LSI인 송신측 LSI(311)와 수신측의 LSI인 수신측 LSI(312)의 사이는 8개의 레인을 사용하여 접속되어 있다. 송신측 LSI(311-1)와 송신측 LSI(311-2)에는 각각 4개의 레인이 할당되고, 송신부(322-1)와 송신부(322-2)는, 각각, 4개의 레인을 사용하여 데이터를 전송한다.
수신측 LSI(312)의 수신부(331-1)는, 4개의 레인을 사용하여 송신측 LSI(311-1)의 송신부(322-1)로부터 전송되어 온 데이터를 수신하고, 정보 처리부(332)에 출력한다. 수신부(331-2)도 마찬가지로, 4개의 레인을 사용하여 송신측 LSI(311-2)의 송신부(322-2)로부터 전송되어 온 데이터를 수신하고, 정보 처리부(332)에 출력한다.
정보 처리부(332)는, 수신부(331-1)로부터 공급된 데이터에 의거하여, 송신측 LSI(311-1)에서 송신 대상으로서 선택된 데이터를 생성한다. 또한, 송신부(322)는, 수신부(331-2)로부터 공급된 데이터에 의거하여, 송신측 LSI(311-2)에서 송신 대상으로서 선택된 데이터를 생성한다. 화상 처리부(332)는, 생성한 데이터를 이용하여 각종의 처리를 행한다.
이상과 같이, 전송 시스템(301)의 송신측의 LSI에는, 데이터를 전송하는 송신부가 1 또는 복수 마련된다. 한편, 수신측의 LSI에는, 송신측의 LSI의 송신부에 대응하여, 데이터를 수신하는 수신부가 1 또는 복수 마련된다.
이하, 송신측 LSI(311)에 하나의 송신부가 마련되고, 수신측 LSI(312)에 하나의 수신부가 마련된 도 33의 전송 시스템(301)에서의 데이터 전송에 관해 설명한다. 도 34와 도 35의 송신부(322-1) - 수신부(331-1) 사이, 송신부(322-2) - 수신부(331-2) 사이에서도 마찬가지로 하여 데이터 전송이 행하여진다.
[패킷의 데이터 구조의 예]
도 36의 A 내지 D는, 데이터 전송에 이용되는 패킷의 데이터 구조의 예를 도시하는 도면이다.
도 36의 A는, CIS I/F에서 화소 데이터의 전송에 이용되는 패킷의 예를 도시하는 도면이다. CIS I/F의 1패킷은, 헤더, 1라인분의 화소 데이터를 포함하는 페이로드, 및, 적절히 부가된 푸터로 구성된다. CIS I/F의 1패킷의 선두에는 Start Code가 부가되고, 푸터의 뒤에는 End Code가 부가된다.
도 36의 B 내지 D는, 범용 I/F에서 각종의 데이터의 전송에 이용되는 패킷의 예를 도시하는 도면이다. 범용 I/F의 1패킷은 페이로드만으로 구성된다. 후술하는 바와 같이, 송신부(322)에서는, 정보 처리부(321)로부터 공급된 8∼144비트 단위의 송신 대상의 데이터를 소정의 사이즈마다 나눔에 의해 페이로드 데이터가 생성된다. 패킷 사이즈는, 입력 데이터의 비트폭인 8∼144비트와, 128비트의 공배수(公倍數)가 되는 비트수이고, Configuration Register에 설정된 값에 의해 지정된다.
Configuration Register에 설정된 값에 의해 지정된 패킷 사이즈와 같은 사이즈의 패킷을 생성하고, 데이터를 전송하는 경우, 도 36의 B에 도시하는 통상 패킷이 이용된다.
또한, Configuration Register에 설정된 값에 의해 지정된 패킷 사이즈보다 짧은 패킷을 생성하고, 데이터를 전송하는 경우, 도 36의 C 또는 도 36의 D에 도시하는 쇼트 패킷이 이용된다. 예를 들면, 페이로드 길이가 128비트의 배수인 경우에는 도 36의 C의 쇼트 패킷(1)이 이용되고, 페이로드 길이가 128비트의 배수가 아닌 경우에는 도 36의 D의 쇼트 패킷(2)이 이용된다. 도 36의 C의 쇼트 패킷과 도 36의 D의 쇼트 패킷은, 뒤에 부가된 End Code에 의해 식별된다.
[송신측 LSI(311)와 수신측 LSI(312)의 구성]
도 37은, 송신측 LSI(311)와 수신측 LSI(312)의 구성례를 도시하는 도면이다.
도 37의 좌측에 도시하는 구성이 송신측 LSI(311)의 구성이고, 우측에 도시하는 구성이 수신측 LSI(312)의 구성이다. 범용 I/F의 데이터 전송은, 애플리케이션 레이어, 어댑테이션 레이어, 링크 레이어, 및 물리 레이어의 각 레이어의 구성에 의해 실현된다.
실선(L1)의 위에 도시하는 구성이 애플리케이션 레이어의 구성이다. 정보 처리부(321)에서는, 시스템 제어부(341), 데이터 입력부(342), 및 레지스터(343)가 실현된다.
시스템 제어부(341)는, 범용 I/F에 의한 데이터의 전송을 제어한다. 예를 들면 시스템 제어부(341)는, 데이터 입력부(342)가 송신 대상의 데이터를 출력하고 있는 사이, 입력된 데이터가 유효한 데이터인 것을 나타내는 제어 신호를 송신부(322)의 페이로드 데이터 생성부(351)에 출력한다. 데이터 입력부(342)는, 송신 대상의 데이터를 8∼144비트의 소정의 비트 단위로 페이로드 데이터 생성부(351)에 출력한다. 레지스터(343)는 상술한 Configuration Register이고, 패킷 사이즈, Lane수 등의 각종의 정보를 기억한다.
한편, 정보 처리부(332)에서는, 시스템 제어부(441), 데이터 출력부(442), 및 레지스터(443)가 실현된다.
시스템 제어부(441)는, 범용 I/F에 의한 데이터의 수신을 제어한다. 예를 들면 시스템 제어부(441)는, 레지스터(443)에 설정되어 있는 값에 의해 지정된 패킷 사이즈의 정보를 페이로드 데이터 취득부(431)에 출력한다. 데이터 출력부(442)는, 페이로드 데이터 취득부(431)로부터 공급된 데이터를 취득하고, 도시하지 않은 데이터 처리부에 출력한다. 레지스터(443)는 패킷 사이즈, Lane수 등의 각종의 정보를 기억한다.
[송신부(322)의 어댑테이션 레이어의 구성]
송신측 LSI(311)의 어댑테이션 레이어의 구성에 관해 설명한다. 송신부(322)는, 페이로드 데이터 생성부(351)를 어댑테이션 레이어의 구성으로서 갖는다.
페이로드 데이터 생성부(351)는, 데이터 입력부(342)로부터 소정의 비트 단위로 공급된 송신 대상의 데이터를 패킷 사이즈와 같은 사이즈마다 나누고, Byte Packing부(362)에 출력한다. 페이로드 데이터 생성부(351)로부터 Byte Packing부(362)에 대해서는, 송신 대상의 데이터를 구성하는 소정의 비트 단위의 데이터가, 패킷 사이즈와 같은 사이즈마다 한데 묶어서 출력되게 된다. 페이로드 데이터 생성부(351)는, 패킷 사이즈에 못 미친 예를 들면 송신 대상의 데이터의 최후의 데이터에 관해서는, 그대로 Byte Packing부(362)에 출력한다.
또한, 페이로드 데이터 생성부(351)는, 제어 신호가 오프가 되고, 데이터의 입력이 소정의 시간 이상 없는 것을 검출한 경우, 패킷을 구성하는 최후의 데이터의 입력 타이밍을 나타내는 타이밍 신호인 Packet End 신호를 Byte Packing부(362)에 출력한다. 또한, 페이로드 데이터 생성부(351)는, 도 7, 도 32 등을 참조하여 설명한 헤더 정보를 수신측 LSI(312)에 송신하는 경우, 헤더 정보를 패킷 생성부(364)에 출력한다. 범용 I/F에서는, 헤더 정보에 대해서도, 페이로드 데이터로서 송신된다.
[송신부(322)의 링크 레이어의 구성]
송신부(322)는, Byte Packing부(362), 페이로드 ECC 삽입부(363), 패킷 생성부(364), 및 레인 분배부(365)를 링크 레이어의 구성으로서 갖는다.
Byte Packing부(362)는, 페이로드 데이터 생성부(351)로부터 공급된 데이터를, Byte Packing부(362) 이후의 각 처리부가 처리 단위로 하는 16바이트 등의 소정 단위의 패킹 데이터로 변환한다. Byte Packing부(362)는, 변환하여 얻어진 패킹 데이터를 페이로드 ECC 삽입부(363)에 출력한다.
도 38은, Byte Packing부(362)에 의한 데이터 변환인 Byte Packing의 예를 도시하는 도면이다.
도 38의 예에서는, 1패킷을 구성하는 데이터로서 페이로드 데이터 생성부(351)에 의해 제어 신호에 따라 나뉜 Data(1) 내지 Data(8)가 Byte Packing부(362)에 입력되어 있다. 데이터 입력부(342)로부터 페이로드 데이터 생성부(351)에 대해서는, 80비트 단위로 데이터의 입력이 행하여진 것으로 되어 있다.
이 경우, Byte Packing부(362)는, Data(1) 내지 Data(8)의 각 비트를 입력 순서로 16바이트(128비트)단위의 패킹 데이터의 각 비트에 할당함에 의해, 5개의 패킹 데이터를 생성한다. 예를 들면 1번째의 패킹 데이터는, Data(1)의 1∼80비트와 Data(2)의 1∼48비트를 포함하는 데이터가 된다.
도 39는, Byte Packing부(362)에 의한 Byte Packing의 다른 예를 도시하는 도면이다.
도 39의 예에서는, 1패킷을 구성하는 데이터로서 페이로드 데이터 생성부(351)에 의해 제어 신호에 따라 나뉜 Data(1) 내지 Data(5)가 Byte Packing부(362)에 입력되어 있다. Data(5)의 입력 타이밍에 맞추어서, 페이로드 데이터 생성부(351)로부터 Byte Packing부(362)에 Packet End 신호가 입력되어 있다. Packet End 신호가 공급된 것에 응하여, Byte Packing부(362)는, Data(5)가, 1패킷을 구성하는 최후의 데이터인 것을 인식할 수 있다.
이 경우, Byte Packing부(362)는, Data(1) 내지 Data(5)의 각 비트를 입력 순서로 패킹 데이터의 각 비트에 할당함에 의해, Data(1) 전체와 Data(2)의 선두부터 도중까지의 데이터를 포함하는 1번째의 패킹 데이터를 생성한다. 또한, Byte Packing부(362)는, Data(2)의 도중부터 최후까지의 데이터와, Data(3) 전체와, Data(4)의 선두부터 도중까지의 데이터를 포함하는 2번째의 패킹 데이터를 생성한다. Byte Packing부(362)는, Data(4)의 도중부터 최후까지의 데이터와, Data(5)의 선두부터 도중까지의 데이터를 포함하는 3번째의 패킹 데이터를 생성한다.
Byte Packing부(362)는, Data(5)의 최후의 비트인 80비트째를 4번째의 패킹 데이터에 할당한 때, 그 이후, 더미 데이터를 삽입함에 의해 16바이트의 4번째의 패킹 데이터를 생성한다. 즉, 16바이트에 못 미친 부분은 더미 데이터(더미 비트)를 부가하도록 하여 패킹 데이터가 생성된다. 더미 데이터는 예를 들면 전부 값이 0인 비트이다.
또한, Byte Packing부(362)는, 더미 데이터가 부가된 4번째의 패킹 데이터에 계속된5번째의 패킹 데이터로서, 4번째의 패킹 데이터에 포함되는 더미 데이터의 비트수를 나타내는 8비트를 LSB측에 포함하는 패킹 데이터를 생성한다. 5번째의 패킹 데이터의 1비트째부터 120비트째까지는 더미 데이터가 포함된다.
이와 같은 데이터를 수신하는 수신부(331)는, 5번째의 패킹 데이터에 120비트의 더미 데이터가 포함되어 있는 것에 의거하여, 하나 전의 패킹 데이터인 4번째의 패킹 데이터에 더미 데이터가 부가되어 있는 것을 특정할 수 있다. 또한, 수신부(331)는, 120비트의 더미 데이터에 계속된 8비트에 의해 표시된 비트수에 의거하여, 4번째의 패킹 데이터에 부가되어 있는 더미 데이터의 비트수를 특정하고, 유효 데이터만을 추출하는 것이 가능해진다.
도 40은, Byte Packing 처리의 시퀀스를 도시하는 도면이다.
도 40의 예에서는, 시각(t11부터 t14)의 기간과 시각(t15) 이후, 정보 처리부(321)의 시스템 제어부(341)로부터 공급되는 제어 신호가 온으로 되어 있다. 또한, 제어 신호가 온으로 되는 것에 맞추어서, 소정의 비트 단위의 송신 대상의 데이터인 Data(1) 내지 Data(4)가 데이터 입력부(342)로부터 공급된다. Data(1) 내지 Data(3)에 주목하면, 시각(t11부터 t12)의 기간에 Data(1)이 공급되고, 시각(t12부터 t13)의 기간에 Data(2)가 공급되고, 시각(t13부터 t14)의 기간에 Data(3)가 공급되어 있다. 패킷을 구성하는 최후의 데이터인 것을 나타내는 Packet End 신호가, Data(3)의 입력이 끝났던 타이밍에서 입력되어 있다. Data(1) 내지 Data(4)는, 각각 16바이트 이상의 사이즈를 갖는 데이터이다.
이 경우, Byte Packing부(362)는, Data(1)의 선두부터 도중까지의 범위(a)의 데이터를 포함하는 패킹 데이터(PD1)를 생성한다. 또한, Byte Packing부(362)는, Data(1)의 도중부터 Data(1)의 최후까지의 범위(b)의 데이터와, Data(2)의 선두부터 도중까지의 범위(c)의 데이터를 포함하는 패킹 데이터(PD2)를 생성한다.
Byte Packing부(362)는, Data(2)의 도중부터 Data(2)의 최후까지의 범위(d)의 데이터와, Data(3)의 선두부터 도중까지의 범위(e)의 데이터를 포함하는 패킹 데이터(PD3)를 생성한다. Byte Packing부(362)는, Data(3)의 도중부터 Data(3)의 최후까지의 범위(f)의 데이터에 관해서는, 더미 데이터를 더하여, 16바이트의 패킹 데이터(PD4)를 생성한다. 도 40에서 사선을 붙여서 나타내는 범위의 데이터는 더미 데이터이다.
또한, Byte Packing부(362)는, 패킹 데이터(PD4)에 계속해서, 패킹 데이터(PD4)에 부가한 더미 데이터의 비트수를 나타내는 비트를 최후에 포함하는 16바이트의 패킹 데이터를 생성한다.
예를 들면, 더미 데이터가 부가된 패킹 데이터(PD4)를 포함하는, 패킹 데이터(PD1∼PD4)로 이루어지는 패킷은, 도 36의 C 또는 도 36의 D의 쇼트 패킷으로서 송신된다. 쇼트 패킷에는, 더미 데이터의 비트수를 나타내는 비트가 최후에 부가된 패킹 데이터도 포함된다.
더미 데이터를 포함하지 않고, 제어 신호가 온인 기간에 입력된 유효한 데이터만을 패킹 데이터에 포함하고, 통상 패킷으로서 송신하는 경우에 관해 생각한다. 이 경우, Packet End 신호가 공급된 타이밍에서, 패킹 데이터를 유효한 데이터로 충족시킬 수 없을 때에는, Data(4)가 입력될 때까지, 패킹 데이터에 포함할 수가 없었던 Data(3)의 범위(f)의 데이터를 출력할 수가 없다. Packet End 신호가 공급된 타이밍에서 패킹 데이터를 유효한 데이터로 충족시킬 수가 없는 경우에는 더미 데이터를 부가하여 출력함에 의해, 데이터의 출력에 지연이 생겨 버리는 것을 막는 것이 가능해진다.
이와 같이 하여 생성된 패킹 데이터로 구성된 데이터가, Byte Packing부(362)로부터 도 37의 페이로드 ECC 삽입부(363)에 페이로드 데이터로서 공급된다.
페이로드 ECC 삽입부(363)는, Byte Packing부(362)로부터 공급된 페이로드 데이터에 의거하여, 페이로드 데이터의 오류 정정에 이용되는 오류 정정 부호를 계산하고, 계산에 의해 구한 패리티를 페이로드 데이터에 삽입한다. 오류 정정 부호로서, 예를 들면 리드솔로몬 부호가 이용된다. 또한, 오류 정정 부호의 삽입은 옵션이다.
도 41은, 페이로드 데이터에 대한 패리티의 삽입의 예를 도시하는 도면이다.
페이로드 ECC 삽입부(363)는, Byte Packing부(362)로부터 공급된 순서로 14의 패킹 데이터를 모음에 의해 224바이트의 Basic Block을 생성한다. 또한, 페이로드 ECC 삽입부(363)는, 224바이트의 페이로드 데이터에 의거하여 2바이트 내지 4바이트의 패리티를 생성하고, 페이로드 데이터에 삽입함에 의해, 패리티가 삽입된 226바이트 내지 228바이트의 Basic Block을 생성한다.
도 41의 예에서는, 1번째부터 14번째까지의 패킹 데이터로 이루어지는 페이로드 데이터에 대해 Parity1이 생성되고, 부가되어 있다. 도 41에서 사선을 붙여서 나타내는 데이터가 패리티이다.
페이로드 ECC 삽입부(363)는, 있는 Basic Block에 계속된 페이로드 데이터의 사이즈가 224바이트에 못 미친 경우, 남아 있는 페이로드 데이터에 의거하여 Extra Block을 생성한다. 상술한 더미 데이터의 삽입에 의해, Extra Block의 정보 길이는 항상 16바이트의 배수가 된다. 또한, 페이로드 ECC 삽입부(363)는, Extra Block을 구성하는 페이로드 데이터에 의거하여 2바이트 내지 4바이트의 패리티를 생성하고, 페이로드 데이터에 삽입함에 의해, 패리티가 삽입된 Extra Block을 생성한다.
도 41의 예에서는, N번째부터 N+M번째까지의 페이로드 데이터에 대해 ParityM이 생성되고, 부가되어 있다.
페이로드 ECC 삽입부(363)는, 패리티를 삽입한 페이로드 데이터를 패킷 생성부(364)에 출력한다. 패리티의 삽입이 행하여지지 않는 경우, Byte Packing부(362)로부터 페이로드 ECC 삽입부(363)에 공급된 페이로드 데이터는, 그대로 패킷 생성부(364)에 출력된다.
패킷 생성부(364)는, 페이로드 ECC 삽입부(363)로부터 공급된 데이터를 페이로드 데이터로 하는 패킷을 생성한다. 패킷 생성부(364)는, 생성한 패킷의 데이터를 레인 분배부(365)에 출력한다.
레인 분배부(365)는, 패킷 생성부(364)로부터 공급된 패킷 데이터를, 선두의 1바이트로부터 차례로 바이트 단위로, Lane0, Lane1, …, Lane(LaneNum-1), Lane1, …라는 바와 같이 데이터 전송에 이용하는 각 레인에 할당한다. 패킷 길이와 Lane수에 의해서는 각 레인에 균등하게 데이터를 분배할 수 없는 일이 있다. 이 경우, 레인 분배부(365)는, 각 레인에 균등하게 데이터가 분배되도록, Lane Stuffing으로서 00h를 삽입한다.
레인 분배부(365)는, 이와 같이 하여 각 레인에 할당한 패킷 데이터를 물리 레이어에 출력한다. 이하, Lane0∼7의 8레인을 사용하여 데이터를 전송하는 경우에 관해 주로 설명하지만, 데이터 전송에 이용하는 레인의 수가 다른 수인 경우라도 같은 처리가 행하여진다.
[송신부(322)의 물리 레이어의 구성]
송신부(322)는, PHY-TX 상태 제어부(381), 클록 생성부(382), 신호 처리부(383-0 내지 383-N)를 물리 레이어의 구성으로서 갖는다. 송신부(322)의 물리 레이어의 구성은, 도 5를 참조하여 설명한 CIS-I/F에서 송신부(22)의 물리 레이어의 구성과 같은 구성이다. 중복되는 설명에 관해서는 적절히 생략한다.
신호 처리부(383-0)는, 제어 코드 삽입부(391), 8B10B 심볼 인코더(392), 동기부(393), 및 송신부(394)로 구성된다. 레인 분배부(365)로부터 출력되고, Lane0에 할당된 패킷 데이터는 신호 처리부(383-0)에 입력되고, Lane1에 할당된 패킷 데이터는 신호 처리부(383-1)에 입력된다. 또한, LaneN에 할당된 패킷 데이터는 신호 처리부(383-N)에 입력된다.
PHY-TX 상태 제어부(381)는, 신호 처리부(383-0 내지 383-N)의 각 부분을 제어한다.
클록 생성부(382)는, 클록 신호를 생성하고, 신호 처리부(383-0 내지 383-N)의 각각의 동기부(393)에 출력한다.
신호 처리부(383-0)의 제어 코드 삽입부(391)는, 레인 분배부(365)로부터 공급된 패킷 데이터에 Start Code, End Code 등의 제어 코드를 부가한다. 제어 코드 삽입부(391)는, 제어 코드를 부가한 패킷 데이터를 8B10B 심볼 인코더(392)에 출력한다.
8B10B 심볼 인코더(392)는, 제어 코드 삽입부(391)로부터 공급된 패킷 데이터(제어 코드가 부가된 패킷 데이터)에 대해 8B10B 변환을 행하여, 10비트 단위의 데이터로 변환한 패킷 데이터를 동기부(393)에 출력한다.
동기부(393)는, 8B10B 심볼 인코더(392)로부터 공급된 패킷 데이터의 각 비트를, 클록 생성부(382)에 의해 생성된 클록 신호에 따라 송신부(394)에 출력한다. 또한, 송신부(322)에 동기부(393)가 마련되지 않도록 하여도 좋다. 이 경우, 8B10B 심볼 인코더(392)로부터 출력된 패킷 데이터는, 송신부(394)에 그대로 공급된다.
송신부(394)는, Lane0을 구성하는 전송로를 통하여, 동기부(393)로부터 공급된 패킷 데이터를 수신부(331)에 송신한다. 8레인을 사용하여 데이터 전송이 행하여지는 경우, Lane1∼7을 구성하는 전송로도 이용하여 패킷 데이터가 수신부(331)에 송신된다.
[수신부(331)의 물리 레이어의 구성]
다음에, 수신측 LSI(312)의 수신부(331)의 물리 레이어의 구성에 관해 설명한다. 수신부(331)는, PHY-RX 상태 제어부(401), 신호 처리부(402-0 내지 402-N)를 물리 레이어의 구성으로서 갖는다. 수신부(331)의 물리 레이어의 구성은, 도 5를 참조하여 설명한 CIS-I/F에서 수신부(31)의 물리 레이어의 구성과 같은 구성이다. 중복되는 설명에 관해서는 적절히 생략한다.
신호 처리부(402-0)은, 수신부(411), 클록 생성부(412), 동기부(413), 심볼 동기부(414), 10B8B 심볼 디코더(415), 스큐 보정부(416), 및 제어 코드 제거부(417)로 구성된다. Lane0을 구성하는 전송로를 통하여 송신되어 온 패킷 데이터는 신호 처리부(402-0)에 입력되고, Lane1을 구성하는 전송로를 통하여 송신되어 온 패킷 데이터는 신호 처리부(402-1)에 입력된다. 또한, LaneN을 구성하는 전송로를 통하여 송신되어 온 패킷 데이터는 신호 처리부(402-N)에 입력된다.
수신부(411)는, Lane0을 구성하는 전송로를 통하여 송신부(322)로부터 전송되어 온 패킷 데이터를 나타내는 신호를 수신하고, 클록 생성부(412)에 출력한다.
클록 생성부(412)는, 수신부(411)로부터 공급된 신호의 에지를 검출함에 의해 비트 동기를 취하고, 에지의 검출 주기에 의거하여 클록 신호를 생성한다. 클록 생성부(412)는, 수신부(411)로부터 공급된 신호를, 클록 신호와 함께 동기부(413)에 출력한다.
동기부(413)는, 클록 생성부(412)에 의해 생성된 클록 신호에 따라, 수신부(411)에서 수신된 신호의 샘플링을 행하여, 샘플링에 의해 얻어진 패킷 데이터를 심볼 동기부(414)에 출력한다.
심볼 동기부(414)는, 예를 들면 Start Code, End Code, Deskew Code에 포함되는 K28.5의 심볼을 검출하고, 심볼 동기를 취한다. 심볼 동기부(414)는, 각 심볼을 나타내는 10비트 단위의 패킷 데이터를 10B8B 심볼 디코더(415)에 출력한다.
10B8B 심볼 디코더(415)는, 심볼 동기부(414)로부터 공급된 10비트 단위의 패킷 데이터에 대해 10B8B 변환을 시행하여, 8비트 단위의 데이터로 변환한 패킷 데이터를 스큐 보정부(416)에 출력한다.
스큐 보정부(416)는, 10B8B 심볼 디코더(415)로부터 공급된 패킷 데이터로부터 Deskew Code를 검출한다. 스큐 보정부(416)에 의한 Deskew Code의 검출 타이밍의 정보는 PHY-RX 상태 제어부(401)에 공급된다. 또한, 스큐 보정부(416)는, Deskew Code의 타이밍을, PHY-RX 상태 제어부(401)로부터 공급된 정보에 의해 표시되는 타이밍에 맞추도록 하여 레인 사이의 Data Skew를 보정한다.
신호 처리부(402-1 내지 402-N)의 각각에서 같은 처리가 행하여짐에 의해, 도 25를 참조하여 설명한 바와 같이 하여 레인 사이의 Data Skew가 보정된다.
스큐 보정부(416)는, Data Skew를 보정한 패킷 데이터를 제어 코드 제거부(417)에 출력한다.
제어 코드 제거부(417)는, 패킷 데이터에 부가된 제어 코드를 제거하고, Start Code부터 End Code까지 사이의 데이터를 패킷 데이터로서 링크 레이어에 출력한다.
PHY-RX 상태 제어부(401)는, 신호 처리부(402-0 내지 402-N)의 각 부분을 제어하여, 레인 사이의 Data Skew의 보정 등을 행하게 한다.
[수신부(331)의 링크 레이어의 구성]
수신부(331)는, 레인 통합부(422), 패킷 분리부(423), 페이로드 에러 정정부(424), 및 Byte Unpacking부(425)를 링크 레이어의 구성으로서 갖는다.
레인 통합부(422)는, 물리 레이어의 신호 처리부(402-0 내지 402-N)로부터 공급된 데이터를, 송신부(322)의 레인 분배부(365)에 의한 각 레인에의 분배순과 역순으로 재배열함에 의해 통합한다. 레인 통합부(422)는, 통합하여 얻어진 패킷 데이터를 패킷 분리부(423)에 출력한다.
패킷 분리부(423)는, 레인 통합부(422)에 의해 통합된 패킷 데이터를 페이로드 데이터로서 페이로드 에러 정정부(424)에 출력한다. 페이로드 데이터로서 헤더 정보가 포함되어 있는 경우, 패킷 분리부(423)는, 페이로드로부터 추출한 헤더 정보를 페이로드 데이터 취득부(431)에 출력한다.
페이로드 에러 정정부(424)는, 패킷 분리부(423)로부터 공급된 페이로드 데이터에 패리티가 삽입되어 있는 경우, 패리티에 의거하여 오류 정정 연산을 행함에 의해 페이로드 데이터의 에러를 검출하고, 에러의 정정을 행한다. 예를 들면, 도 41에 도시하는 바와 같이 하여 패리티가 삽입되어 있는 경우, 페이로드 에러 정정부(424)는, 1번째의 Basic Block의 최후에 삽입되어 있는 패리티를 이용하여, 패리티의 앞에 있는 224바이트의 데이터의 오류 정정을 행한다.
페이로드 에러 정정부(424)는, 각 Basic Block, Extra Block을 대상으로 하여 오류 정정을 행함에 의해 얻어진 오류 정정 후의 데이터를 Byte Unpacking부(425)에 출력한다. 패킷 분리부(423)로부터 공급된 페이로드 데이터에 패리티가 삽입되지 않은 경우, 패킷 분리부(423)로부터 공급된 페이로드 데이터는 그대로 Byte Unpacking부(425)에 출력된다.
Byte Unpacking부(425)는, 페이로드 에러 정정부(424)로부터 공급된 16바이트 단위의 패킹 데이터에 대해, 송신부(322)의 Byte Packing부(362)에 의한 처리와 반대의 변환 처리인 Byte Unpacking를 행한다. Byte Unpacking부(425)는, Byte Unpacking를 행함에 의해 얻어진 데이터를 페이로드 데이터 취득부(431)에 출력한다. Byte Unpacking부(425)로부터 페이로드 데이터 취득부(431)에 대해서는, 송신부(322)의 페이로드 데이터 생성부(351)의 출력과 마찬가지로, 소정의 비트 단위의 데이터가 1패킷분 한데 묶어서 출력되게 된다.
또한, Byte Unpacking부(425)는, 페이로드 데이터를 구성하는 패킹 데이터에 더미 데이터가 포함되어 있을 때에는, 더미 데이터를 제거하고, 더미 데이터 이외의 데이터를 대상으로 하여 Byte Unpacking를 행한다. 패킹 데이터에 더미 데이터가 포함되어 있는 것은, 상술한 바와 같이 예를 들면 120비트의 연속하는 더미 데이터를 검출함에 의거하여 특정된다. 또한, 패킹 데이터에 포함되는 더미 데이터의 비트수는, 120비트의 더미 데이터에 계속된 8비트에 의해 특정된다.
[수신부(331)의 어댑테이션 레이어의 구성]
수신부(331)는, 페이로드 데이터 취득부(431)를 어댑테이션 레이어의 구성으로서 갖는다. 페이로드 데이터 취득부(431)는, Byte Unpacking부(425)로부터 공급된 데이터를 취득하고, 송신측 LSI(311)에서 데이터 입력부(342)로부터 페이로드 데이터 생성부(351)에 입력된 데이터의 비트폭과 같은 비트폭의 단위로 정보 처리부(332)에 출력한다.
[송신측 LSI(311)와 수신측 LSI(312)의 동작]
다음에, 이상과 같은 구성을 갖는 송신측 LSI(311)와 수신측 LSI(312)의 일련의 처리에 관해 설명한다.
처음에, 도 42의 플로우 차트를 참조하여, 전송 시스템(301)의 동작에 관해 설명한다. 도 42의 각 스텝의 처리는, 적절히, 다른 처리와 병행하여, 또는 전후하여 행하여진다.
스텝 S101에서, 송신측 LSI(311)의 정보 처리부(321)는, 각종의 데이터의 처리를 행하여, 송신 대상의 데이터를 8∼144비트의 소정의 비트폭의 단위로 송신부(322)에 출력한다.
스텝 S102에서, 송신부(322)는 데이터 송신 처리를 행한다. 데이터 송신 처리에 의해, 송신 대상의 데이터를 페이로드에 격납한 패킷이 생성되고, 패킷 데이터가 수신부(331)에 대해 송신된다. 데이터 송신 처리에 관해서는 도 43의 플로우 차트를 참조하여 후술한다.
스텝 S103에서, 수신측 LSI(312)의 수신부(331)는 데이터 수신 처리를 행한다. 데이터 수신 처리에 의해, 송신부(322)로부터 송신되어 온 데이터가 수신되어, 송신측 LSI(311)에서 송신 대상의 데이터로서 선택된 데이터가 정보 처리부(332)에 출력된다. 데이터 수신 처리에 관해서는 도 44의 플로우 차트를 참조하여 후술한다.
스텝 S104에서, 정보 처리부(332)는, 수신부(331)로부터 공급된 데이터를 취득한다.
스텝 S105에서, 정보 처리부(332)는, 취득한 데이터에 의거하여 각종의 처리를 행하고, 처리를 종료시킨다.
다음에, 도 43의 플로우 차트를 참조하여, 도 42의 스텝 S102에서 행하여지는 데이터 송신 처리에 관해 설명한다.
스텝 S111에서, 페이로드 데이터 생성부(351)는, 데이터 입력부(342)로부터 공급된 송신 대상의 데이터를 소정의 사이즈마다 나눔에 의해 페이로드 데이터를 생성한다.
스텝 S112에서, Byte Packing부(362)는, 페이로드 데이터 생성부(351)로부터 공급된 페이로드 데이터를, 16바이트 등의 소정 단위의 패킹 데이터로 변환한다.
스텝 S113에서, 페이로드 ECC 삽입부(363)는, 페이로드 데이터로 구성되는 Basic Block 또는 Extra Block에 의거하여 오류 정정 부호를 계산하고, 계산에 의해 구한 패리티를 페이로드 데이터에 삽입한다.
스텝 S114에서, 패킷 생성부(364)는, 페이로드 ECC 삽입부(363)로부터 공급된 데이터를 패킷 데이터로서 레인 분배부(365)에 출력한다.
스텝 S115에서, 레인 분배부(365)는, 패킷 생성부(364)로부터 공급된 패킷 데이터를, 데이터 전송에 사용되는 복수의 레인에 할당한다.
스텝 S116에서, 제어 코드 삽입부(391)는, 레인 분배부(365)로부터 공급된 패킷 데이터에 제어 코드를 부가한다.
스텝 S117에서, 8B10B 심볼 인코더(392)는, 제어 코드가 부가된 패킷 데이터의 8B10B 변환을 행하여, 10비트 단위의 데이터로 변환한 패킷 데이터를 출력한다.
스텝 S118에서, 동기부(393)는, 8B10B 심볼 인코더(392)로부터 공급된 패킷 데이터를, 클록 생성부(382)에 의해 생성된 클록 신호에 따라 출력하고, 송신부(394)로부터 송신시킨다. 스텝 S116 내지 S118의 처리는 신호 처리부(383-0 내지 383-N)에 의해 병행하여 행하여진다. 패킷 데이터가 송신된 후, 도 42의 스텝 S102로 되돌아, 그 이후의 처리가 행하여진다.
다음에, 도 44의 플로우 차트를 참조하여, 도 42의 스텝 S103에서 행하여지는 데이터 수신 처리에 관해 설명한다.
스텝 S131에서, 수신부(411)는, 송신부(322)로부터 전송되어 온 패킷 데이터를 나타내는 신호를 수신한다. 스텝 S131 내지 S136의 처리는 신호 처리부(402-0 내지 402-N)에 의해 병행하여 행하여진다.
스텝 S132에서, 클록 생성부(412)는, 수신부(411)로부터 공급된 신호의 에지를 검출함에 의해 비트 동기를 취한다. 동기부(413)는, 수신부(411)에서 수신된 신호의 샘플링을 행하여, 패킷 데이터를 심볼 동기부(414)에 출력한다.
스텝 S133에서, 심볼 동기부(414)는, 패킷 데이터에 포함되는 제어 코드를 검출하는 등으로 심볼 동기를 취한다.
스텝 S134에서, 10B8B 심볼 디코더(415)는, 심볼 동기 후의 패킷 데이터에 대해 10B8B 변환을 행하여, 8비트 단위의 데이터로 변환한 패킷 데이터를 출력한다.
스텝 S135에서, 스큐 보정부(416)는, Deskew Code를 검출하고, Deskew Code의 타이밍을 PHY-RX 상태 제어부(401)로부터 공급된 정보에 의해 표시되는 타이밍에 맞추도록 하여 레인 사이의 Data Skew를 보정한다.
스텝 S136에서, 제어 코드 제거부(417)는, 패킷 데이터에 부가된 제어 코드를 제거한다.
스텝 S137에서, 레인 통합부(422)는, 신호 처리부(402-0 내지 402-N)로부터 공급된 패킷 데이터를 통합한다.
스텝 S138에서, 패킷 분리부(423)는, 레인 통합부(422)에 의해 통합된 패킷 데이터를, 페이로드 데이터로서 페이로드 에러 정정부(424)에 출력한다.
스텝 S139에서, 페이로드 에러 정정부(424)는, 패킷 분리부(423)로부터 공급된 페이로드 데이터에 삽입되어 있는 패리티에 의거하여 페이로드 데이터의 오류 정정을 행한다.
스텝 S140에서, Byte Unpacking부(425)는, 페이로드 에러 정정부(424)로부터 공급된 페이로드 데이터에 대해, Byte Packing와 반대의 변환 처리를 행한다. Byte Unpacking부(425)는, 얻어진 데이터를 페이로드 데이터 취득부(431)에 출력한다.
스텝 S141에서, 페이로드 데이터 취득부(431)는, Byte Unpacking부(425)로부터 공급된 데이터를 소정의 비트폭의 단위로 정보 처리부(332)에 출력한다. 그 후, 도 42의 스텝 S103으로 되돌아와 그 이후의 처리가 행하여진다.
송신측 LSI(311)와 수신측 LSI(312)의 사이의 범용 I/F를 이용한 데이터 전송은, 이상과 같이 하여 행하여진다. 범용 I/F에 의해, 각종의 데이터를 전송하는 것이 가능해진다.
<3. 통신 링크 사이의 Data Skew의 보정에 관해>
[(1) 통신 링크 사이 Data Skew]
이상과 같이, CIS I/F 및 범용 I/F에서는, 하나의 송신부와 하나의 수신부의 조에 의해 하나의 통신 링크가 확립되어, 데이터 전송이 행하여진다.
통신 링크는, CIS I/F로 말한다면 촬상부와 화상 처리부 사이의 데이터 전송의 경로이고, 범용 I/F로 말한다면 2개의 정보 처리부 사이의 데이터 전송의 경로이다. 상술한 바와 같은 데이터 구조를 갖는 데이터의 나열이, 데이터 스트림으로서 통신 링크에 의해 전송된다.
도 1 및 도 33에 도시하는 전송 시스템은, 송신부와 수신부의 조가 하나만 마련되고, 데이터 전송이 1경로를 이용하여 행하여지기 때문에, 하나의 통신 링크를 이용한 시스템이 된다.
한편, 도 2 및 도 34에 도시하는 전송 시스템은, 송신부와 수신부의 조가 2개 마련되고, 데이터 전송이 2경로를 이용하여 행하여지기 때문에, 2개의 통신 링크를 이용한 시스템이 된다. 도 3 및 도 35에 도시하는 전송 시스템도 마찬가지이다.
이하, 적절히, 전송 시스템에서 이용되는 통신 링크가 하나인 경우, 그 통신 링크를 싱글 통신 링크라고 한다. 또한, 전송 시스템에서 이용되는 통신 링크가 복수인 경우, 그 통신 링크를 멀티 통신 링크라고 한다.
[(1-1) 싱글 통신 링크]
도 45는, 싱글 통신 링크의 처리의 흐름의 예를 도시하는 도면이다. CIS I/F에서의 싱글 통신 링크에 관해 설명하지만, 범용 I/F라도 마찬가지이다.
도 45에 도시하는 바와 같이, 싱글 통신 링크인 통신 링크(#0)는, 송신부(22)의 링크 레이어 및 물리 레이어와, 송신부(22)와 수신부(31) 사이의 전송로와, 수신부(31)의 물리 레이어 및 링크 레이어로 구성된 경로가 된다.
애플리케이션 레이어(촬상부(21))로부터 송신부(22)의 링크 레이어에 대한 데이터의 입력은, 화살표(A1)로 도시하는 바와 같이 기준 타이밍에 따라 행하여진다. 기준 타이밍은, 처리의 기준이 되는 타이밍을 나타내는 신호이다.
송신부(22)의 링크 레이어에서는, Pixel to Byte 변환, 패킷 생성, 및 레인 분배가, 주된 처리로서 차례로 행하여진다.
물리 레이어의 각 레인에서는, 제어 코드의 삽입, 8B10B 변환, 동기(심볼 동기와 비트 동기), 및 데이터의 송신이, 주된 처리로서 차례로 행하여진다. 송신부(22)의 물리 레이어의 처리는, 각 레인(신호 처리부(83-0 내지 83-N)의 각각)에서 병행하여 행하여진다. 또한, 송신측에서 동기 처리가 행하여지지 않는 경우, 8B10B 변환을 하여 얻어진 데이터가 그대로 송신된다.
물리 레이어의 각 레인에는 화살표(A2)로 도시하는 바와 같이 같은 기준 타이밍이 입력된다. 각 레인에서는 기준 타이밍에 따라 처리가 행하여진다.
물리 레이어의 각 레인에서는, 처리 대상이 되는 데이터의 차이나 신호 처리부의 특성의 차이 등에 응하여, 각 레인의 데이터의 타이밍에 어긋남이 생긴다. 데이터의 타이밍의 어긋남은, 화살표(A3)로 도시하는 바와 같이 레인 사이 Data Skew로서 나타난다.
물리 레이어의 각 레인부터 출력된 데이터는, 화살표(A11)로 도시하는 바와 같이 레인 사이 Data Skew를 갖은 채로 수신부(31)에 입력된다.
수신부(31)의 물리 레이어의 처리도, 각 레인(신호 처리부(102-0 내지 102-N)의 각각)에서 병행하여 행하여진다. 물리 레이어의 각 레인에서는, 데이터의 수신, 동기, 10B8B 변환, 및 Deskew(레인 사이 Data Skew의 보정)가, 주된 처리로서 차례로 행하여진다.
도 25를 참조하여 설명한 바와 같은 Deskew가 행하여짐에 의해, 화살표(A12)로 도시하는 바와 같이 레인 사이 Data Skew가 제거된 데이터가 얻어진다. 레인 사이 Data Skew가 제거된 데이터가, 물리 레이어의 각 레인부터 링크 레이어에 출력된다.
수신부(31)의 링크 레이어에서는, 레인 통합, 패킷 분리, 및 Byte to Pixel 변환이, 주된 처리로서 차례로 행하여진다. 링크 레이어의 처리는, 각 레인부터 출력된 데이터를 1계통의 데이터로 통합한 후에 행하여진다.
링크 레이어로부터 애플리케이션 레이어(화상 처리부(32))에 대해서는, 전송 대상의 데이터가 화살표(A13)로 도시하는 바와 같이 소정의 기준 타이밍에 따라 출력된다.
이와 같이, CIS I/F 및 범용 I/F에 의한 데이터 전송은, 송신측의 물리 레이어에서 발생하는 레인 사이 Data Skew를, 수신측의 물리 레이어에서 제거하도록 하여 행하여진다.
[(1-2) 멀티 통신 링크]
도 46은, 멀티 통신 링크의 처리의 흐름의 예를 도시하는 도면이다. 도 45를 참조하여 설명한 것과 중복되는 설명에 관해서는 적절히 생략한다.
도 46에 도시하는 멀티 통신 링크는, 통신 링크(#0)와 통신 링크(#1)로 구성된다. 예를 들면, 통신 링크(#0)는 도 2의 송신부(22-1)와 수신부(31-1)의 조에 의해 실현되고, 통신 링크(#1)는 송신부(22-2)와 수신부(31-2)의 조에 의해 실현된다.
이 경우, 통신 링크(#0)는, 송신부(22-1)의 링크 레이어 및 물리 레이어와, 송신부(22-1)와 수신부(31-1)의 사이의 전송로와, 수신부(31-1)의 물리 레이어 및 링크 레이어로 구성되는 경로가 된다. 또한, 통신 링크(#1)는, 송신부(22-2)의 링크 레이어 및 물리 레이어와, 송신부(22-2)와 수신부(31-2)의 사이의 전송로와, 수신부(31-2)의 물리 레이어 및 링크 레이어로 구성되는 경로가 된다.
통신 링크(#0)를 구성하는 송신부(22-1)의 링크 레이어에 대한 데이터의 입력과, 통신 링크(#1)를 구성하는 송신부(22-2)의 링크 레이어에 대한 데이터의 입력은, 화살표(A21-0)와 화살표(A21-1)로 도시하는 바와 같이 같은 기준 타이밍에 따라 행하여진다.
통신 링크(#0)를 구성하는 송신부(22-1)의 링크 레이어와, 통신 링크(#1)를 구성하는 송신부(22-2)의 링크 레이어에서는, 상술한 링크 레이어의 처리가 각각 독립하여 행하여진다.
송신부(22-1)의 링크 레이어로부터 물리 레이어에 대해, 각 레인에 분배된 데이터가 출력된다. 마찬가지로, 송신부(22-2)의 링크 레이어로부터 물리 레이어에 대해, 각 레인에 분배된 데이터가 출력된다.
같은 타이밍에서 링크 레이어에 입력된 데이터는, 물리 레이어에 입력될 때에는, 화살표(A22-0, A22-1)의 기준 타이밍으로 도시하는 바와 같이 타이밍이 어긋난 것으로 된다.
이 타이밍의 어긋남은, 송신부(22-1)의 링크 레이어의 처리를 행하는 구성과 송신부(22-2)의 링크 레이어의 처리를 행하는 구성의 특성의 차이 등(동작 클록의 어긋남 등)에 의해 생긴다.
이하, 적절히, 다른 통신 링크의 링크 레이어에서 생기는 데이터의 타이밍의 어긋남을, 통신 링크 사이 Data Skew라고 한다. 통신 링크 사이 Data Skew는, 상술한 바와 같이 Deskew Code를 이용하여 제거되는 레인 사이 Data Skew와는 다르다.
물리 레이어의 각 레인에서는, 제어 코드의 삽입, 8B10B 변환, 동기, 및 데이터의 송신이 차례로 행하여진다. 송신부(22-1, 22-2)의 물리 레이어의 처리는, 각 레인에서 병행하여 행하여진다.
통신 링크(#0)를 구성하는 송신부(22-1)의 물리 레이어의 각 레인부터 출력되는 데이터에는, 화살표(A23-0)로 도시하는 바와 같이, 링크 레이어에서 생긴 통신 링크 사이 Data Skew와 물리 레이어에서 생긴 레인 사이 Data Skew가 혼재하여 포함되게 된다.
또한, 통신 링크(#1)를 구성하는 송신부(22-2)의 물리 레이어의 각 레인부터 출력된 데이터에는, 화살표(A23-1)로 도시하는 바와 같이, 링크 레이어에서 생긴 통신 링크 사이 Data Skew와 물리 레이어에서 생긴 레인 사이 Data Skew가 혼재하여 포함되게 된다.
수신부(31-1)와 수신부(31-2)의 물리 레이어에는, 화살표(A31-0, A31-1)로 도시하는 바와 같이 통신 링크 사이 Data Skew와 레인 사이 Data Skew를 포함하는 데이터가 입력된다.
통신 링크(#0)를 구성하는 수신부(31-1)의 물리 레이어의 각 레인에서는, 데이터의 수신, 동기, 10B8B 변환, 및 Deskew가 차례로 행하여지고, 화살표(A32-0)로 도시하는 바와 같이, 레인 사이 Data Skew가 제거된 데이터가 얻어진다.
통신 링크(#1)를 구성하는 수신부(31-2)의 물리 레이어의 각 레인에서는, 데이터의 수신, 동기, 10B8B 변환, 및 Deskew가 차례로 행하여지고, 화살표(A32-1)로 도시하는 바와 같이, 레인 사이 Data Skew가 제거된 데이터가 얻어진다.
레인 사이 Data Skew가 제거된 데이터가, 물리 레이어의 각 레인에서 링크 레이어에 출력된다. 또한, 물리 레이어의 각 레인에서의 Deskew에 의해 제거되는 것은 레인 사이 Data Skew뿐이고, 통신 링크 사이 Data Skew에 대해서는 제거되지 않는다.
통신 링크(#0)를 구성하는 수신부(31-1)의 링크 레이어에서는, 레인 통합, 패킷 분리, 및 Byte to Pixel 변환이 차례로 행하여진다. 링크 레이어로부터 애플리케이션 레이어에 대해서는, 화살표(A33-0)로 도시하는 바와 같이 통신 링크 사이 Data Skew가 남은 채의 데이터가 출력된다.
통신 링크(#1)를 구성하는 수신부(31-2)의 링크 레이어에서도, 레인 통합, 패킷 분리, 및 Byte to Pixel 변환이 차례로 행하여진다. 링크 레이어로부터 애플리케이션 레이어에 대해서는, 화살표(A33-1)로 도시하는 바와 같이 통신 링크 사이 Data Skew가 남은 채의 데이터가 출력된다.
또한, 수신부(31-1)와 수신부(31-2)의 링크 레이어에서도, 각각 통신 링크 사이 Data Skew가 생기고, 처리 대상의 데이터에 대해 부가된다.
이와 같이, 멀티 통신 링크를 이용한 데이터 전송에서는, 레인 사이 Data Skew뿐만 아니라, 통신 링크 사이 Data Skew에 대해서도 고려할 필요가 있다. 이하, 통신 링크 사이 Data Skew의 제거의 방법에 관해 설명한다.
[(2) 통신 링크 사이 Data Skew의 제거]
도 47은, 전송 시스템(301)의 다른 구성례를 도시하는 도면이다. 도 47에 도시하는 구성 중, 도 34에 도시하는 구성과 같은 구성에는 같은 부호를 붙이고 있다. 중복되는 설명에 관해서는 적절히 생략한다.
도 47에 도시하는 전송 시스템(301)은, 수신측 LSI(312)에 수신 상태 제어부(601)가 마련되어 있는 점에서, 도 34에 도시하는 구성과 다르다. 범용 I/F에서 멀티 통신 링크에 관해 설명하지만, CIS I/F라도 마찬가지이다.
송신측 LSI(311)에 마련된 송신부(322-1)와 수신측 LSI(312)에 마련된 수신부(331-1)의 조에 의해 통신 링크(#0)가 실현된다. 또한, 송신측 LSI(311)에 마련된 송신부(322-2)와 수신측 LSI(312)에 마련된 수신부(331-2)의 조에 의해 통신 링크(#1)가 실현된다.
수신 상태 제어부(601)는, 수신부(331-1)에서 데이터의 수신 상태와, 수신부(331-2)에서 데이터의 수신 상태에 의거하여, 통신 링크 사이 Data Skew를 검출한다.
또한, 수신 상태 제어부(601)는, 수신부(331-1)가 처리하는 데이터의 타이밍과 수신부(331-2)가 처리하는 데이터의 타이밍을 제어함에 의해, 통신 링크 사이 Data Skew를 보정한다. 수신 상태 제어부(601)는, 통신 링크 사이 Data Skew를 보정하는 제어부로서 기능한다.
[(2-1) 제1의 예 통신 링크 사이 Data Skew의 제거를 수신측의 물리 레이어에서 행하는 경우의 예]
·전송 시스템의 구성례
도 48은, 송신측 LSI(311)와 수신측 LSI(312)의 구성례를 도시하는 도면이다.
도 48에 도시하는 구성 중, 도 37에 도시하는 구성과 같은 구성에는 같은 부호를 붙이고 있다. 중복되는 설명에 관해서는 적절히 생략한다. 후술하는 도 51, 도 53 등에서도 마찬가지이다.
도 48에 도시하는 바와 같이, 수신 상태 제어부(601)는, 수신부(331-1)의 PHY-RX 상태 제어부(401)에 접속됨과 함께, 수신부(331-2)의 PHY-RX 상태 제어부(401)에 접속된다.
또한, 도 48에서는, 수신부(331-2)의 구성으로서 PHY-RX 상태 제어부(401)만이 도시되고, 다른 구성의 도시에 관해서는 생략되어 있다. 수신부(331-2)에도, PHY-RX 상태 제어부(401)를 포함하는, 수신부(331-1)의 구성과 같은 구성이 마련된다.
또한, 도 48에서는, 송신부의 구성으로서, 수신부(331-1)와 함께 통신 링크(#0)를 실현하는 송신부(322-1)만이 도시되어 있다. 수신부(331-2)와 함께 통신 링크(#1)를 실현하는 송신부(322-2)도 마련된다. 수신부(331-2)는, 송신부(322-2)로부터 송신된 데이터를 수신하고, 정보 처리부(332)에 출력한다.
정보 처리부(321)와 정보 처리부(332)의 사이에서는, 통신 링크(#0)와 통신 링크(#1)로 이루어지는 멀티 통신 링크를 이용한 데이터 전송이 행하여진다. 각각의 통신 링크에서는 도 37 등을 참조하여 설명한 처리가 행하여진다.
수신부(331-1)의 신호 처리부(402-0 내지 402-N)의 각각의 스큐 보정부(416)는, Deskew Code를 검출하고, 검출 타이밍의 정보를 PHY-RX 상태 제어부(401)에 출력한다. 또한, 각각의 스큐 보정부(416)는, PHY-RX 상태 제어부(401)에 의한 제어에 따라, 검출한 Deskew Code의 타이밍을 보정한다.
후술하는 바와 같이, 보정 타이밍은, 통신 링크 사이 Data Skew를 보정하도록 하여 수신 상태 제어부(601)에 의해 설정된다.
수신부(331-1)의 PHY-RX 상태 제어부(401)는, 신호 처리부(402-0 내지 402-N)의 각각의 스큐 보정부(416)로부터 공급된, Deskew Code의 검출 타이밍의 정보를 수신 상태 제어부(601)에 출력한다. PHY-RX 상태 제어부(401)는, 보정 타이밍의 정보가 수신 상태 제어부(601)로부터 공급된 경우, 신호 처리부(402-0 내지 402-N)의 각각의 스큐 보정부(416)의 동작을 제어한다.
수신부(331-2)의 각 부분도, 수신부(331-1)의 각 부분과 같은 처리를 행한다.
즉, 수신부(331-2)의 신호 처리부(402-0 내지 402-N)의 각각의 스큐 보정부(416)(모두 도시 생략)는, Deskew Code를 검출하고, Deskew Code의 검출 타이밍의 정보를 PHY-RX 상태 제어부(401)에 출력한다. 또한, 각각의 스큐 보정부(416)는, PHY-RX 상태 제어부(401)에 의한 제어에 따라, 검출한 Deskew Code의 타이밍을 보정한다.
수신부(331-2)의 PHY-RX 상태 제어부(401)는, 신호 처리부(402-0 내지 402-N)의 각각의 스큐 보정부(416)로부터 공급된, Deskew Code의 검출 타이밍의 정보를 수신 상태 제어부(601)에 출력한다. PHY-RX 상태 제어부(401)는, 보정 타이밍의 정보가 수신 상태 제어부(601)로부터 공급된 경우, 신호 처리부(402-0 내지 402-N)의 각각의 스큐 보정부(416)의 동작을 제어한다.
수신 상태 제어부(601)는, 수신부(331-1)의 PHY-RX 상태 제어부(401)로부터 공급된 검출 타이밍의 정보와, 수신부(331-2)의 PHY-RX 상태 제어부(401)로부터 공급된 검출 타이밍의 정보를 수신한다.
수신 상태 제어부(601)는, 수신부(331-1)의 각 레인과 수신부(331-2)의 각 레인에서 검출된 Deskew Code의 타이밍에 의거하여 보정 타이밍을 설정한다.
도 49는, 보정 타이밍의 설정의 예를 도시하는 도면이다.
도 49의 예에서는, 통신 링크(#0)에는 Lane0∼3의 4레인이 사용되고, 통신 링크(#1)에는 Lane4∼7의 4레인이 사용되고 있다. 각 레인에서는, 도 25를 참조하여 설명한 것과 마찬가지로, Sync Code, Sync Code, …, Idle Code, Deskew Code, Idle Code, …, Idle Code, Deskew Code의 전송이 행하여지고 있다.
통신 링크(#0)에서, Lane0의 Deskew Code C1은, 시각(t11)의 타이밍에서 검출되어 있다. Lane1의 Deskew Code C1과 Lane2의 Deskew Code C1은, 동일한 시각(t12)의 타이밍에서 검출되어 있다. Lane3의 Deskew Code C1은, 시각(t13)의 타이밍에서 검출되어 있다.
또한, 통신 링크(#0)에서, Lane0의 Deskew Code C2는, 시각(t21)의 타이밍에서 검출되어 있다. Lane1의 Deskew Code C2와 Lane2의 Deskew Code C2는, 동일한 시각(t22)의 타이밍에서 검출되어 있다. Lane3의 Deskew Code C2는, 시각(t23)의 타이밍에서 검출되어 있다.
이와 같은 검출 타이밍의 정보가, 수신부(331-1)의 PHY-RX 상태 제어부(401)로부터 수신 상태 제어부(601)에 공급된다.
한편, 통신 링크(#1)에서, Lane4∼7의 Deskew Code C1은, 각각, 시각(t14, t15, t16, t17)의 타이밍에서 검출되어 있다.
또한, 통신 링크(#1)에서, Lane4∼7의 Deskew Code C2는, 각각, 시각(t24, t25, t26, t27)의 타이밍에서 검출되어 있다.
이와 같은 검출 타이밍의 정보가, 수신부(331-2)의 PHY-RX 상태 제어부(401)로부터 수신 상태 제어부(601)에 공급된다.
각 레인에서 검출된 Deskew Code C1은, 통신 링크(#0)와 통신 링크(#1)(송신부(322-1)와 송신부(322-2)의 물리 레이어)에서 같은 타이밍에서 삽입된, 대응하는 데이터이다. 각 레인에서 검출된 Deskew Code C2도 마찬가지로, 통신 링크(#0)와 통신 링크(#1)에서 같은 타이밍에서 삽입된, 대응하는 데이터이다.
이 경우, 수신 상태 제어부(601)는, Deskew Code C1의 보정 타이밍으로서, 예를 들면, 통신 링크(#0)의 Lane0∼3과 통신 링크(#1)의 Lane4∼7에서 검출 타이밍 중의, 가장 느린 시각(t17)의 타이밍을 설정한다.
또한, 수신 상태 제어부(601)는, Deskew Code C2의 보정 타이밍으로서, 예를 들면, 통신 링크(#0)의 Lane0∼3과 통신 링크(#1)의 Lane4∼7에서 검출 타이밍 중의, 가장 느린 시각(t27)의 타이밍을 설정한다.
수신 상태 제어부(601)는, 이와 같이 하여 설정한 보정 타이밍의 정보를, 수신부(331-1)의 PHY-RX 상태 제어부(401)와 수신부(331-2)의 PHY-RX 상태 제어부(401)에 출력한다.
수신부(331-1)의 신호 처리부(402-0 내지 402-N)의 각각의 스큐 보정부(416)에서는, PHY-RX 상태 제어부(401)에 의한 제어에 따라, Deskew Code C1의 타이밍을, 시각(t17)의 타이밍에 맞추도록 하여 Deskew가 행하여진다. 또한, Deskew Code C2의 타이밍을, 시각(t27)의 타이밍에 맞추도록 하여 Deskew가 행하여진다. Deskew Code의 타이밍의 보정은, 각각의 스큐 보정부(416)에 마련된 FIFO를 이용하여 행하여진다.
한편, 수신부(331-2)의 신호 처리부(402-0 내지 402-N)의 각각의 스큐 보정부(416)에서는, PHY-RX 상태 제어부(401)에 의한 제어에 따라, Deskew Code C1의 타이밍을, 시각(t17)의 타이밍에 맞추도록 하여 Deskew가 행하여진다. 또한, Deskew Code C2의 타이밍을, 시각(t27)의 타이밍에 맞추도록 하여 Deskew가 행하여진다. Deskew Code의 타이밍의 보정은, 각각의 스큐 보정부(416)에 마련된 FIFO를 이용하여 행하여진다.
이에 의해, 도 49의 속이 흰 화살표의 끝에 도시하는 바와 같이, 통신 링크(#0)의 Lane0∼3에서 Deskew Code C1의 타이밍과, 통신 링크(#1)의 Lane4∼7에서 Deskew Code C1의 타이밍이 같은 타이밍이 되도록 보정된다.
또한, 통신 링크(#1)의 Lane0∼3에서 Deskew Code C2의 타이밍과, 통신 링크(#1)의 Lane4∼7에서 Deskew Code C2의 타이밍이 같은 타이밍이 되도록 보정된다.
이와 같이 하여 타이밍이 보정된 Deskew Code가 스큐 보정부(416)로부터 출력된다.
이에 의해, 기지(旣知) 정보인 Deskew Code를 이용하여, 통신 링크 사이 Data Skew가 보정되게 된다. 또한, 레인 사이 Data Skew에 대해서도 보정되게 된다.
·전송 시스템의 동작
다음에, 도 50의 시퀀스도를 참조하여, 통신 링크 사이 Data Skew를 물리 레이어에서 보정하는 경우의 일련의 동작에 관해 설명한다.
도 50의 좌단에 도시하는 처리는, 통신 링크(#0)를 실현하는 수신부(331-1)의 처리이다. 중앙에 도시하는 처리는, 통신 링크(#1)를 실현하는 수신부(331-2)의 처리이다. 우단에 도시하는 처리는, 수신 상태 제어부(601)의 처리이다.
수신부(331-1)에서는, 송신부(322-1)로부터 송신된 데이터가 각 레인의 신호 처리부에 의해 수신되어, 물리 레이어의 각 처리가 행하여진다. 수신부(331-2)에서도 마찬가지로, 송신부(322-2)로부터 송신된 데이터가 각 레인의 신호 처리부에 의해 수신되어, 물리 레이어의 각 처리가 행하여진다.
스텝 S301에서, 수신부(331-1)의 신호 처리부(402-0 내지 402-N)의 각각의 스큐 보정부(416)는, Deskew Code를 검출한다. 검출 타이밍의 정보는 수신부(331-1)의 PHY-RX 상태 제어부(401)에 공급된다.
스텝 S302에서, 수신부(331-1)의 PHY-RX 상태 제어부(401)는, 신호 처리부(402-0 내지 402-N)의 각각의 스큐 보정부(416)로부터 공급된, Deskew Code의 검출 타이밍의 정보를 수신 상태 제어부(601)에 출력한다.
한편, 수신부(331-2)에서도 같은 처리가 행하여진다. 스텝 S311에서, 수신부(331-2)의 신호 처리부(402-0 내지 402-N)의 각각의 스큐 보정부(416)는, Deskew Code를 검출한다. 검출 타이밍의 정보는 수신부(331-2)의 PHY-RX 상태 제어부(401)에 공급된다.
스텝 S312에서, 수신부(331-2)의 PHY-RX 상태 제어부(401)는, 신호 처리부(402-0 내지 402-N)의 각각의 스큐 보정부(416)로부터 공급된, Deskew Code의 검출 타이밍의 정보를 수신 상태 제어부(601)에 출력한다.
스텝 S321에서, 수신 상태 제어부(601)는, 수신부(331-1)의 PHY-RX 상태 제어부(401)로부터 공급된 정보를 수신한다.
또한, 스텝 S322에서, 수신 상태 제어부(601)는, 수신부(331-2)의 PHY-RX 상태 제어부(401)로부터 공급된 정보를 수신한다.
스텝 S323에서, 수신 상태 제어부(601)는, 수신부(331-1)의 각 레인과 수신부(331-2)의 각 레인에서 검출된 Deskew Code의 타이밍에 의거하여, 보정 타이밍을 상술한 바와 같이 하여 설정한다.
스텝 S324에서, 수신 상태 제어부(601)는, 보정 타이밍의 정보를, 수신부(331-1)의 PHY-RX 상태 제어부(401)와 수신부(331-2)의 PHY-RX 상태 제어부(401)에 출력한다.
스텝 S303에서, 수신부(331-1)의 PHY-RX 상태 제어부(401)는, 수신 상태 제어부(601)로부터 공급된 보정 타이밍의 정보를 수신한다.
스텝 S304에서, 수신부(331-1)의 PHY-RX 상태 제어부(401)는, 보정 타이밍을 나타내는 제어 신호를 신호 처리부(402-0 내지 402-N)의 각각의 스큐 보정부(416)에 출력한다.
스텝 S305에서, 수신부(331-1)의 신호 처리부(402-0 내지 402-N)의 각각의 스큐 보정부(416)는, Deskew Code의 타이밍을 보정 타이밍에 맞춤에 의해 통신 링크 사이 Data Skew와 레인 사이 Data Skew를 보정하고, 출력한다.
한편, 수신부(331-2)에서도 같은 처리가 행하여진다. 스텝 S313에서, 수신부(331-2)의 PHY-RX 상태 제어부(401)는, 수신 상태 제어부(601)로부터 공급된 보정 타이밍의 정보를 수신한다.
스텝 S314에서, 수신부(331-2)의 PHY-RX 상태 제어부(401)는, 보정 타이밍을 나타내는 제어 신호를 신호 처리부(402-0 내지 402-N)의 각각의 스큐 보정부(416)에 출력한다.
스텝 S315에서, 수신부(331-2)의 신호 처리부(402-0 내지 402-N)의 각각의 스큐 보정부(416)는, Deskew Code의 타이밍을 보정 타이밍에 맞춤에 의해 통신 링크 사이 Data Skew와 레인 사이 Data Skew를 보정하고, 출력한다.
통신 링크 사이 Data Skew와 레인 사이 Data Skew가 보정된 각 레인의 데이터는, 링크 레이어에서 1계통의 데이터로서 통합된 후, 각 처리가 시행된다. 링크 레이어의 처리에 의해 얻어진 데이터는, 링크 레이어로부터 애플리케이션 레이어에 공급된다.
이상의 처리가, 예를 들면, 복수의 통신 링크의 각각의 레인에서 Deskew Code가 검출될 때마다 행하여진다.
이상의 처리에 의해, 통신 링크 사이 Data Skew의 제거를, 수신측의 물리 레이어에서 행하는 것이 가능해진다.
Deskew Code의 검출 타이밍에 의거하여 보정 타이밍이 설정되는 것으로 하였지만, 물리 레이어에서 검출되는 다른 데이터의 타이밍에 의거하여 설정되도록 하여도 좋다. 예를 들면, 각 레인에서 검출된 소정의 심볼의 검출 타이밍, Start Code나 End Code 등의 다른 제어 코드의 검출 타이밍에 의거하여, 보정 타이밍이 설정되도록 하여도 좋다.
각 패킷이나 그것에 부가되는 기지 정보인 제어 코드 등, 송신측에서 생성되는 데이터의 구조는, 전송에 사용된 통신 링크의 차이에 관계없이 같다. 상술한 바와 같은 구조를 갖는 데이터의 한데 묶음(데이터 스트림)을 구성하는 데이터로서, 각각의 통신 링크에서 같은 위치(타이밍)에 배치되는 것이면, 어떤 데이터라도, 보정 타이밍을 설정하는 것에 이용하는 것이 가능하다.
또한, CIS I/F의 멀티 통신 링크를 이용한 전송 시스템에서도, 같은 처리에 의해, 통신 링크 사이 Data Skew의 보정이 수신측의 물리 레이어에서 행하여진다.
[(2-2) 제2의 예 통신 링크 사이 Data Skew의 제거를 수신측의 링크 레이어에서 행하는 경우의 예]
·전송 시스템의 구성례
도 51은, 송신측 LSI(311)와 수신측 LSI(312)의 다른 구성례를 도시하는 도면이다.
도 51의 예에서는, 수신 상태 제어부(601)는, 수신부(331-1)의 패킷 분리부(423)에 접속됨과 함께, 수신부(331-2)의 패킷 분리부(423)에 접속된다.
도 51에서는, 수신부(331-2)의 구성으로서 패킷 분리부(423)만이 도시되고, 다른 구성의 도시에 관해서는 생략되어 있다. 수신부(331-2)에도, 패킷 분리부(423)를 포함하는, 수신부(331-1)의 구성과 같은 구성이 마련된다.
정보 처리부(321)와 정보 처리부(332)의 사이에서는, 통신 링크(#0)와 통신 링크(#1)로 이루어지는 멀티 통신 링크를 이용한 데이터 전송이 행하여진다.
수신부(331-1)의 패킷 분리부(423)는, 레인 통합부(422)에 의해 통합된 데이터로부터, 각 패킷의 페이로드 데이터를 검출하고, 검출 타이밍의 정보를 수신 상태 제어부(601)에 출력한다. 또한, 패킷 분리부(423)는, 검출한 페이로드 데이터의 타이밍을, 수신 상태 제어부(601)에 의해 설정된 보정 타이밍에 맞추도록 보정하고, 출력한다. 페이로드 데이터의 출력 타이밍이 보정되게 된다. 페이로드 데이터의 출력 타이밍의 보정은, 패킷 분리부(423)에 마련된 FIFO를 이용하여 행하여진다.
수신부(331-2)의 패킷 분리부(423)도, 수신부(331-1)의 패킷 분리부(423)와 같은 처리를 행한다.
즉, 수신부(331-2)의 패킷 분리부(423)는, 레인 통합부(422)에 의해 통합된 데이터로부터, 각 패킷의 페이로드 데이터를 검출하고, 검출 타이밍의 정보를 수신 상태 제어부(601)에 출력한다. 또한, 패킷 분리부(423)는, 검출한 페이로드 데이터의 타이밍을, 수신 상태 제어부(601)에 의해 설정된 보정 타이밍에 맞추도록 보정하고, 출력한다. 페이로드 데이터의 출력 타이밍의 보정은, 패킷 분리부(423)에 마련된 FIFO를 이용하여 행하여진다.
수신 상태 제어부(601)는, 수신부(331-1)의 패킷 분리부(423)로부터 공급된 검출 타이밍의 정보와, 수신부(331-2)의 패킷 분리부(423)로부터 공급된 검출 타이밍의 정보를 수신한다.
수신 상태 제어부(601)는, 수신부(331-1)의 패킷 분리부(423)에서의 페이로드 데이터의 검출 타이밍과, 수신부(331-2)의 패킷 분리부(423)에서의 페이로드 데이터의 검출 타이밍에 의거하여 보정 타이밍을 설정한다.
예를 들면, 수신부(331-1)의 패킷 분리부(423)와 수신부(331-2)의 패킷 분리부(423)에서 검출된 대응하는 페이로드 데이터의 검출 타이밍 중, 가장 느린 타이밍이 보정 타이밍으로서 설정된다. 수신 상태 제어부(601)는, 이와 같이 하여 설정한 보정 타이밍의 정보를, 수신부(331-1)의 패킷 분리부(423)와 수신부(331-2)의 패킷 분리부(423)에 출력한다.
·전송 시스템의 동작
다음에, 도 52의 시퀀스도를 참조하여, 통신 링크 사이 Data Skew를 링크 레이어에서 보정하는 경우의 일련의 동작에 관해 설명한다.
수신부(331-1)에서는, 송신부(322-1)로부터 송신된 데이터가 각 레인의 신호 처리부에 의해 수신되어, 물리 레이어의 각 처리가 행하여진다. 물리 레이어로부터 출력된 각 레인의 데이터는, 레인 통합부(422)에 의해 1계통의 데이터로서 통합되고, 패킷 분리부(423)에 출력된다. 또한, 물리 레이어의 처리는 행하여지고 있기 때문에, 패킷 분리부(423)에 공급되는 데이터는, 레인 사이 Data Skew에 관해서는 보정이 끝난 데이터가 된다.
수신부(331-2)에서도 마찬가지로, 송신부(322-2)로부터 송신된 데이터가 각 레인의 신호 처리부에 의해 수신되어, 물리 레이어의 각 처리가 행하여진다. 물리 레이어로부터 출력된 각 레인의 데이터는, 레인 통합부(422)에 의해 1계통의 데이터로서 통합되고, 패킷 분리부(423)에 출력된다.
스텝 S351에서, 수신부(331-1)의 패킷 분리부(423)는, 레인 통합부(422)에 의해 통합된 데이터로부터, 각 패킷의 페이로드 데이터를 검출한다.
스텝 S352에서, 수신부(331-1)의 패킷 분리부(423)는, 페이로드 데이터의 검출 타이밍의 정보를 수신 상태 제어부(601)에 출력한다.
한편, 수신부(331-2)에서도 같은 처리가 행하여진다. 스텝 S361에서, 수신부(331-2)의 패킷 분리부(423)는, 레인 통합부(422)에 의해 통합된 데이터로부터, 각 패킷의 페이로드 데이터를 검출한다.
스텝 S362에서, 수신부(331-2)의 패킷 분리부(423)는, 페이로드 데이터의 검출 타이밍의 정보를 수신 상태 제어부(601)에 출력한다.
스텝 S371에서, 수신 상태 제어부(601)는, 수신부(331-1)의 패킷 분리부(423)로부터 공급된 정보를 수신한다.
또한, 스텝 S372에서, 수신 상태 제어부(601)는, 수신부(331-2)의 패킷 분리부(423)로부터 공급된 정보를 수신한다.
스텝 S373에서, 수신 상태 제어부(601)는, 통신 링크(#0)와 통신 링크(#1)에서 검출된 대응하는 페이로드 데이터의 타이밍에 의거하여, 보정 타이밍을 설정한다.
스텝 S374에서, 수신 상태 제어부(601)는, 보정 타이밍의 정보를, 수신부(331-1)의 패킷 분리부(423)와 수신부(331-2)의 패킷 분리부(423)에 출력한다.
스텝 S353에서, 수신부(331-1)의 패킷 분리부(423)는, 수신 상태 제어부(601)로부터 공급된 보정 타이밍의 정보를 수신한다.
스텝 S354에서, 수신부(331-1)의 패킷 분리부(423)는, 검출한 페이로드 데이터의 타이밍을 보정 타이밍에 맞춤에 의해 통신 링크 사이 Data Skew를 보정하고, 출력한다.
한편, 수신부(331-2)에서도 같은 처리가 행하여진다. 스텝 S363에서, 수신부(331-2)의 패킷 분리부(423)는, 수신 상태 제어부(601)로부터 공급된 보정 타이밍의 정보를 수신한다.
스텝 S364에서, 수신부(331-2)의 패킷 분리부(423)는, 검출한 페이로드 데이터의 타이밍을 보정 타이밍에 맞춤에 의해 통신 링크 사이 Data Skew를 보정하고, 출력한다.
통신 링크 사이 Data Skew가 보정된 페이로드 데이터에 대해서는, 링크 레이어에서 다른 처리가 시행되어, 애플리케이션 레이어에 공급된다.
이상의 처리가, 예를 들면, 각각의 통신 링크에서의 페이로드 데이터가 검출될 때마다 행하여진다.
이상의 처리에 의해, 통신 링크 사이 Data Skew의 제거를, 수신측의 링크 레이어에서 행하는 것이 가능해진다.
페이로드 데이터의 검출 타이밍에 의거하여 보정 타이밍이 설정되는 것으로 하였지만, 링크 레이어에서 검출되는 다른 데이터의 타이밍에 의거하여 설정되도록 하여도 좋다. 예를 들면, 페이로드 데이터에 헤더 정보가 포함되어 있는 경우, 대응하는 헤더 정보의 검출 타이밍에 의거하여, 보정 타이밍이 설정되도록 하는 것도 가능하다.
페이로드 데이터에 포함되는 패리티의 검출 타이밍에 의거하여 보정 타이밍이 설정되도록 하여도 좋고, 페이로드 데이터를 구성하는 소정의 패킹 데이터의 검출 타이밍에 의거하여 보정 타이밍이 설정되도록 하여도 좋다. 전자인 경우, 통신 링크 사이 Data Skew의 보정은 페이로드 에러 정정부(424)에 의해 행하여진다. 또한, 후자인 경우, 통신 링크 사이 Data Skew의 보정은 Byte Unpacking부(425)에 의해 행하여진다.
또한, CIS I/F의 멀티 통신 링크를 이용한 전송 시스템에서도, 같은 처리에 의해, 통신 링크 사이 Data Skew의 보정이 수신측의 링크 레이어에서 행하여진다.
[(2-3) 제3의 예 통신 링크 사이 Data Skew의 제거를 수신측의 어댑테이션 레이어에서 행하는 경우의 예]
·전송 시스템의 구성례
도 53은, 송신측 LSI(311)와 수신측 LSI(312)의 다른 구성례를 도시하는 도면이다.
도 53의 예에서는, 수신 상태 제어부(601)는, 수신부(331-1)의 페이로드 데이터 취득부(431)에 접속됨과 함께, 수신부(331-2)의 페이로드 데이터 취득부(431)에 접속된다.
도 53에서는, 수신부(331-2)의 구성으로서 페이로드 데이터 취득부(431)만이 도시되고, 다른 구성의 도시에 관해서는 생략되어 있다. 수신부(331-2)에도, 페이로드 데이터 취득부(431)를 포함하는, 수신부(331-1)의 구성과 같은 구성이 마련된다.
정보 처리부(321)와 정보 처리부(332)의 사이에서는, 통신 링크(#0)와 통신 링크(#1)로 이루어지는 멀티 통신 링크를 이용한 데이터 전송이 행하여진다.
수신부(331-1)의 페이로드 데이터 취득부(431)는, 링크 레이어의 Byte Unpacking부(425)로부터 공급된, 각 패킷의 페이로드 데이터를 취득하고, 취득 타이밍의 정보를 수신 상태 제어부(601)에 출력한다. 또한, 페이로드 데이터 취득부(431)는, 검출한 페이로드 데이터의 타이밍을, 수신 상태 제어부(601)에 의해 설정된 보정 타이밍에 맞추도록 보정하고, 출력한다. 페이로드 데이터의 출력 타이밍이 보정되게 된다. 페이로드 데이터의 출력 타이밍의 보정은, 페이로드 데이터 취득부(431)에 마련된 FIFO를 이용하여 행하여진다.
수신부(331-2)의 페이로드 데이터 취득부(431)도, 수신부(331-1)의 페이로드 데이터 취득부(431)와 같은 처리를 행한다.
즉, 수신부(331-2)의 페이로드 데이터 취득부(431)는, 링크 레이어의 Byte Unpacking부(425)로부터 공급된, 각 패킷의 페이로드 데이터를 취득하고, 취득 타이밍의 정보를 수신 상태 제어부(601)에 출력한다. 또한, 페이로드 데이터 취득부(431)는, 취득한 페이로드 데이터의 타이밍을, 수신 상태 제어부(601)에 의해 설정된 보정 타이밍에 맞추도록 보정하고, 출력한다. 페이로드 데이터의 출력 타이밍의 보정은, 페이로드 데이터 취득부(431)에 마련된 FIFO를 이용하여 행하여진다.
수신 상태 제어부(601)는, 수신부(331-1)의 페이로드 데이터 취득부(431)로부터 공급된 취득 타이밍의 정보와, 수신부(331-2)의 페이로드 데이터 취득부(431)로부터 공급된 취득 타이밍의 정보를 수신한다.
수신 상태 제어부(601)는, 수신부(331-1)의 페이로드 데이터 취득부(431)에서 페이로드 데이터의 취득 타이밍과, 수신부(331-2)의 페이로드 데이터 취득부(431)에서 페이로드 데이터의 취득 타이밍에 의거하여 보정 타이밍을 설정한다.
예를 들면, 수신부(331-1)의 페이로드 데이터 취득부(431)와 수신부(331-2)의 페이로드 데이터 취득부(431)에서 취득된 대응하는 페이로드 데이터의 타이밍 중, 가장 느린 타이밍이 보정 타이밍으로서 설정된다. 수신 상태 제어부(601)는, 이와 같이 하여 설정한 보정 타이밍의 정보를, 수신부(331-1)의 페이로드 데이터 취득부(431)와 수신부(331-2)의 페이로드 데이터 취득부(431)에 출력한다.
·전송 시스템의 동작
다음에, 도 54의 시퀀스도를 참조하여, 통신 링크 사이 Data Skew를 어댑테이션 레이어에서 보정하는 경우의 일련의 동작에 관해 설명한다.
수신부(331-1)에서는, 송신부(322-1)로부터 송신된 데이터가 각 레인의 신호 처리부에 의해 수신되어, 물리 레이어의 각 처리가 행하여진다. 물리 레이어로부터 출력된 각 레인의 데이터는, 레인 통합부(422)에 의해 1계통의 데이터로서 통합되고, 링크 레이어의 각 처리가 행하여진다. 링크 레이어로부터 어댑테이션 레이어의 페이로드 데이터 취득부(431)에 대해서는, 각 패킷의 페이로드 데이터가 출력된다. 또한, 물리 레이어의 처리는 행하여지고 있기 때문에, 페이로드 데이터 취득부(431)에 공급된 데이터는, 레인 사이 Data Skew에 관해서는 보정이 끝난 데이터가 된다.
수신부(331-2)에서도 마찬가지로, 송신부(322-2)로부터 송신된 데이터가 각 레인의 신호 처리부에 의해 수신되어, 물리 레이어의 각 처리가 행하여진다. 물리 레이어로부터 출력된 각 레인의 데이터는, 레인 통합부(422)에 의해 1계통의 데이터로서 통합되고, 링크 레이어의 각 처리가 행하여진다. 링크 레이어로부터 어댑테이션 레이어의 페이로드 데이터 취득부(431)에 대해서는, 각 패킷의 페이로드 데이터가 출력된다.
스텝 S401에서, 수신부(331-1)의 페이로드 데이터 취득부(431)는, Byte Unpacking부(425)로부터 공급된, 각 패킷의 페이로드 데이터를 취득한다.
스텝 S402에서, 수신부(331-1)의 페이로드 데이터 취득부(431)는, 페이로드 데이터의 취득 타이밍의 정보를 수신 상태 제어부(601)에 출력한다.
한편, 수신부(331-2)에서도 같은 처리가 행하여진다. 스텝 S411에서, 수신부(331-2)의 페이로드 데이터 취득부(431)는, Byte Unpacking부(425)로부터 공급된, 각 패킷의 페이로드 데이터를 취득한다.
스텝 S412에서, 수신부(331-2)의 페이로드 데이터 취득부(431)는, 페이로드 데이터의 취득 타이밍의 정보를 수신 상태 제어부(601)에 출력한다.
스텝 S421에서, 수신 상태 제어부(601)는, 수신부(331-1)의 페이로드 데이터 취득부(431)로부터 공급된 정보를 수신한다.
또한, 스텝 S422에서, 수신 상태 제어부(601)는, 수신부(331-2)의 페이로드 데이터 취득부(431)로부터 공급된 정보를 수신한다.
스텝 S423에서, 수신 상태 제어부(601)는, 수신부(331-1)의 페이로드 데이터 취득부(431)와 수신부(331-2)의 페이로드 데이터 취득부(431)에서 취득된 대응하는 페이로드 데이터의 타이밍에 의거하여, 보정 타이밍을 설정한다.
스텝 S424에서, 수신 상태 제어부(601)는, 보정 타이밍의 정보를, 수신부(331-1)의 페이로드 데이터 취득부(431)와 수신부(331-2)의 페이로드 데이터 취득부(431)에 출력한다.
스텝 S403에서, 수신부(331-1)의 페이로드 데이터 취득부(431)는, 수신 상태 제어부(601)로부터 공급된 보정 타이밍의 정보를 수신한다.
스텝 S404에서, 수신부(331-1)의 페이로드 데이터 취득부(431)는, 취득한 페이로드 데이터의 타이밍을 보정 타이밍에 맞춤에 의해 통신 링크 사이 Data Skew를 보정하고, 출력한다.
한편, 수신부(331-2)에서도 같은 처리가 행하여진다. 스텝 S413에서, 수신부(331-2)의 페이로드 데이터 취득부(431)는, 수신 상태 제어부(601)로부터 공급된 보정 타이밍의 정보를 수신한다.
스텝 S414에서, 수신부(331-2)의 페이로드 데이터 취득부(431)는, 취득한 페이로드 데이터의 타이밍을 보정 타이밍에 맞춤에 의해 통신 링크 사이 Data Skew를 보정하고, 출력한다.
통신 링크 사이 Data Skew가 보정된 페이로드 데이터에 대해서는, 애플리케이션 레이어에서 소정의 처리가 행하여진다.
이상의 처리가, 예를 들면 각각의 통신 링크에서의 페이로드 데이터가 취득될 때마다 행하여진다.
이상의 처리에 의해, 통신 링크 사이 Data Skew의 제거를, 수신측의 어댑테이션 레이어에서 행하는 것이 가능해진다.
또한, 어댑테이션 레이어의 구성이 없기 때문에, CIS I/F의 멀티 통신 링크를 이용하는 전송 시스템에서는, 통신 링크 사이 Data Skew의 보정을 어댑테이션 레이어에서 행하는 것은 불가(不可)로 된다.
[(2-4) 제4의 예 통신 링크 사이 Data Skew의 제거를 수신측의 애플리케이션 레이어에서 행하는 경우의 예]
수신측 LSI(312)로부터 외부의 다른 처리부에 페이로드 데이터를 출력하는 타이밍을 보정함에 의해, 통신 링크 사이 Data Skew의 보정이 수신측의 애플리케이션 레이어에서 행하여지도록 하는 것도 가능하다.
이 경우, 정보 처리부(332)의 시스템 제어부(441)는, 수신부(331-1)로부터 공급된 페이로드 데이터의 취득 타이밍과, 수신부(331-2)로부터 공급된 페이로드 데이터의 취득 타이밍에 의거하여 보정 타이밍을 설정한다.
데이터 출력부(442)는, 수신부(331-1)로부터 공급된 페이로드 데이터와, 수신부(331-2)로부터 공급된 페이로드 데이터를 취득한다. 또한, 데이터 출력부(442)는, 취득한 페이로드 데이터의 타이밍을, 시스템 제어부(441)에 의해 설정된 보정 타이밍에 맞추도록 보정하고, 출력한다. 페이로드 데이터의 출력 타이밍이 보정되게 된다. 페이로드 데이터의 출력 타이밍의 보정은, 데이터 출력부(442)에 마련된 FIFO를 이용하여 행하여진다.
또한, 이 경우, 상술한 수신 상태 제어부(601)는 불필요하게 된다.
·전송 시스템의 동작
도 55의 시퀀스도를 참조하여, 통신 링크 사이 Data Skew를 애플리케이션 레이어에서 보정하는 경우의 일련의 동작에 관해 설명한다.
수신부(331-1)에서는, 송신부(322-1)로부터 송신된 데이터가 각 레인의 신호 처리부에 의해 수신되어, 물리 레이어의 각 처리가 행하여진다. 물리 레이어로부터 출력된 각 레인의 데이터는, 레인 통합부(422)에 의해 1계통의 데이터로서 통합되고, 링크 레이어의 각 처리가 행하여진다. 링크 레이어로부터 어댑테이션 레이어의 페이로드 데이터 취득부(431)에 대해서는, 각 패킷의 페이로드 데이터가 출력된다. 또한, 물리 레이어의 처리는 행하여지고 있기 때문에, 페이로드 데이터 취득부(431)에 공급되는 데이터는, 레인 사이 Data Skew에 관해서는 보정이 끝난 데이터가 된다.
수신부(331-2)에서도 마찬가지로, 송신부(322-2)로부터 송신된 데이터가 각 레인의 신호 처리부에 의해 수신되어, 물리 레이어의 각 처리가 행하여진다. 물리 레이어로부터 출력된 각 레인의 데이터는, 레인 통합부(422)에 의해 1계통의 데이터로서 통합되고, 링크 레이어의 각 처리가 행하여진다. 링크 레이어로부터 어댑테이션 레이어의 페이로드 데이터 취득부(431)에 대해서는, 각 패킷의 페이로드 데이터가 출력된다.
스텝 S441에서, 수신부(331-1)의 페이로드 데이터 취득부(431)는, Byte Unpacking부(425)로부터 공급된, 각 패킷의 페이로드 데이터를 취득한다.
스텝 S442에서, 수신부(331-1)의 페이로드 데이터 취득부(431)는, 페이로드 데이터를 애플리케이션 레이어에 출력한다.
한편, 수신부(331-2)에서도 같은 처리가 행하여진다. 스텝 S451에서, 수신부(331-2)의 페이로드 데이터 취득부(431)는, Byte Unpacking부(425)로부터 공급된, 각 패킷의 페이로드 데이터를 취득한다.
스텝 S452에서, 수신부(331-2)의 페이로드 데이터 취득부(431)는, 페이로드 데이터를 애플리케이션 레이어에 출력한다.
스텝 S461에서, 정보 처리부(332)의 데이터 출력부(442)는, 수신부(331-1)의 페이로드 데이터 취득부(431)로부터 공급된 페이로드 데이터를 수신한다.
또한, 스텝 S462에서, 정보 처리부(332)의 데이터 출력부(442)는, 수신부(331-2)의 페이로드 데이터 취득부(431)로부터 공급된 페이로드 데이터를 수신한다.
스텝 S463에서, 정보 처리부(332)의 시스템 제어부(441)는, 대응하는 페이로드 데이터의 타이밍에 의거하여, 보정 타이밍을 설정한다.
스텝 S464에서, 정보 처리부(332)의 데이터 출력부(442)는, 취득한 페이로드 데이터의 타이밍을 보정 타이밍에 맞춤에 의해 통신 링크 사이 Data Skew를 보정하고, 출력한다.
이상의 처리가, 예를 들면, 각각의 통신 링크로부터 애플리케이션 레이어에 페이로드 데이터가 공급될 때마다 행하여진다.
이상의 처리에 의해, 통신 링크 사이 Data Skew의 제거를, 수신측의 애플리케이션 레이어에서 행하는 것이 가능해진다.
또한, CIS I/F의 멀티 통신 링크를 이용하는 전송 시스템에서도, 같은 처리에 의해, 통신 링크 사이 Data Skew의 보정이 수신측의 애플리케이션 레이어에서 행하여진다.
[(2-5) 제5의 예 통신 링크 사이 Data Skew의 제거를 송신측에서 행하는 경우의 예]
·전송 시스템의 구성례
도 56은, 전송 시스템(301)의 다른 구성례를 도시하는 도면이다.
도 56에 도시하는 전송 시스템(301)은, 수신 상태 제어부(601)에 대응하는 송신 상태 제어부(611)가 송신측 LSI(311)에 마련되어 있는 점에서, 도 47에 도시하는 구성과 다르다. 범용 I/F에서 멀티 통신 링크에 관해 설명하지만, CIS I/F라도 마찬가지이다.
도 57은, 도 56의 송신측 LSI(311)와 수신측 LSI(312)의 구성례를 도시하는 도면이다.
도 57에서는, 송신부(322-2)의 구성으로서 PHY-TX 상태 제어부(381)만이 도시되고, 다른 구성의 도시에 관해서는 생략되어 있다. 송신부(322-2)에도, PHY-TX 상태 제어부(381)를 포함하는, 송신부(322-1)의 구성과 같은 구성이 마련된다.
또한, 도 57에서는, 수신측이 구성으로서, 송신부(322-1)와 함께 통신 링크(#0)를 실현하는 수신부(331-1)만이 도시되어 있다. 송신부(322-2)와 함께 통신 링크(#1)를 실현하는 수신부(331-2)도 마련된다. 수신부(331-2)는, 송신부(322-2)로부터 송신된 데이터를 수신하고, 정보 처리부(332)에 출력한다.
도 57에 도시하는 바와 같이, 송신 상태 제어부(611)는, 송신부(322-1)의 PHY-TX 상태 제어부(381)에 접속됨과 함께, 송신부(322-2)의 PHY-TX 상태 제어부(381)에 접속된다.
송신부(322-1)의 PHY-TX 상태 제어부(381)는, 신호 처리부(383-0 내지 383-N)에 대한 제어 타이밍의 정보를 송신 상태 제어부(611)에 출력한다. 예를 들면, PHY-TX 상태 제어부(381)는, 소정의 제어 코드의 삽입 타이밍의 정보를 출력한다.
또한, 송신부(322-1)의 PHY-TX 상태 제어부(381)는, 송신 상태 제어부(611)에 의해 설정된 보정 타이밍에 맞추어서 제어 코드가 삽입되도록, 신호 처리부(383-0 내지 383-N)의 각각의 제어 코드 삽입부(391)에 의한 동작을 제어한다.
송신부(322-1)의 신호 처리부(383-0 내지 383-N)의 각각의 제어 코드 삽입부(391)는, PHY-TX 상태 제어부(381)에 의한 제어에 따라 제어 코드를 삽입한다.
송신부(322-2)의 각 부분도, 송신부(322-1)의 각 부분과 같은 처리를 행한다.
즉, 송신부(322-2)의 PHY-TX 상태 제어부(381)는, 신호 처리부(383-0 내지 383-N)에 대한 제어 타이밍의 정보를 송신 상태 제어부(611)에 출력한다.
또한, 송신부(322-2)의 PHY-TX 상태 제어부(381)는, 송신 상태 제어부(611)에 의해 설정된 보정 타이밍에 맞추어서 제어 코드가 삽입되도록, 신호 처리부(383-0 내지 383-N)의 각각의 제어 코드 삽입부(391)에 의한 동작을 제어한다.
송신부(322-2)의 신호 처리부(383-0 내지 383-N)의 각각의 제어 코드 삽입부(391)는, PHY-TX 상태 제어부(381)에 의한 제어에 따라 제어 코드를 삽입한다.
송신 상태 제어부(611)는, 송신부(322-1)의 PHY-TX 상태 제어부(381)로부터 공급된 정보와, 송신부(322-2)의 PHY-TX 상태 제어부(381)로부터 공급된 정보를 수신한다.
송신 상태 제어부(611)는, 송신부(322-1)의 PHY-TX 상태 제어부(381)에 의한 소정의 제어 코드의 삽입 타이밍과 송신부(322-2)의 PHY-TX 상태 제어부(381)에 의한 소정의 제어 코드의 삽입 타이밍에 의거하여 보정 타이밍을 설정한다.
예를 들면, 송신부(322-1)의 신호 처리부(383-0 내지 383-N)의 각각의 제어 코드 삽입부(391)에서 삽입 타이밍과, 송신부(322-2)의 신호 처리부(383-0 내지 383-N)의 각각의 제어 코드 삽입부(391)에서 삽입 타이밍 중, 가장 느린 타이밍이 보정 타이밍으로서 설정된다. 송신 상태 제어부(611)는, 이와 같이 하여 설정한 보정 타이밍의 정보를, 송신부(322-1)의 PHY-TX 상태 제어부(381)와 송신부(322-2)의 PHY-TX 상태 제어부(381)에 출력한다.
이와 같이, 송신 상태 제어부(611)는, 송신부(322-1)가 처리하는 데이터의 타이밍과 송신부(322-2)가 처리하는 데이터의 타이밍을 제어함에 의해, 통신 링크 사이 Data Skew를 보정한다. 송신 상태 제어부(611)는, 통신 링크 사이 Data Skew를 보정하는 제어부로서 기능한다.
·전송 시스템의 동작
다음에, 도 58의 시퀀스도를 참조하여, 통신 링크 사이 Data Skew를 송신측에서 보정하는 경우의 일련의 동작에 관해 설명한다.
도 58의 좌단에 도시하는 처리는, 통신 링크(#0)를 실현하는 송신부(322-1)의 처리이다. 중앙에 도시하는 처리는, 통신 링크(#1)를 실현하는 송신부(322-2)의 처리이다. 우단에 도시하는 처리는, 송신 상태 제어부(611)의 처리이다.
송신부(322-1)에서는, 전송 대상의 데이터에 대해 링크 레이어의 각 처리가 행하여지고, 각 레인에 분배된 데이터가 물리 레이어의 신호 처리부(383-0 내지 383-N)에 출력된다. 송신부(322-2)에서도 마찬가지로, 전송 대상의 데이터에 대해 링크 레이어의 각 처리가 행하여지고, 각 레인에 분배된 데이터가 물리 레이어의 신호 처리부(383-0 내지 383-N)에 출력된다.
스텝 S501에서, 송신부(322-1)의 PHY-TX 상태 제어부(381)는, 소정의 제어 코드의 삽입 타이밍의 정보를 송신 상태 제어부(611)에 출력한다.
한편, 송신부(322-2)에서도 같은 처리가 행하여진다. 스텝 S511에서, 송신부(322-2)의 PHY-TX 상태 제어부(381)는, 대응하는 소정의 제어 코드의 삽입 타이밍의 정보를 송신 상태 제어부(611)에 출력한다.
스텝 S521에서, 송신 상태 제어부(611)는, 송신부(322-1)의 PHY-TX 상태 제어부(381)로부터 공급된 정보를 수신한다.
또한, 스텝 S522에서, 송신 상태 제어부(611)는, 송신부(322-2)의 PHY-TX 상태 제어부(381)로부터 공급된 정보를 수신한다.
스텝 S523에서, 송신 상태 제어부(611)는, 송신부(322-1)에서의 제어 코드의 삽입 타이밍과 송신부(322-2)에서의 제어 코드의 삽입 타이밍에 의거하여, 보정 타이밍을 설정한다.
스텝 S524에서, 송신 상태 제어부(611)는, 보정 타이밍의 정보를, 송신부(322-1)의 PHY-TX 상태 제어부(381)와 송신부(322-2)의 PHY-TX 상태 제어부(381)에 출력한다.
스텝 S502에서, 송신부(322-1)의 PHY-TX 상태 제어부(381)는, 송신 상태 제어부(611)로부터 공급된 보정 타이밍의 정보를 수신한다.
스텝 S503에서, 송신부(322-1)의 PHY-TX 상태 제어부(381)는, 보정 타이밍을 나타내는 제어 신호를 신호 처리부(383-0 내지 383-N)의 각각의 제어 코드 삽입부(391)에 출력한다.
스텝 S504에서, 송신부(322-1)의 신호 처리부(383-0 내지 383-N)의 각각의 제어 코드 삽입부(391)는, 제어 신호에 의해 표시되는 보정 타이밍에 맞추어서 제어 코드를 삽입함에 의해, 통신 링크 사이 Data Skew를 보정한다.
한편, 송신부(322-2)에서도 같은 처리가 행하여진다. 스텝 S512에서, 송신부(322-2)의 PHY-TX 상태 제어부(381)는, 송신 상태 제어부(611)로부터 공급된 보정 타이밍의 정보를 수신한다.
스텝 S513에서, 송신부(322-2)의 PHY-TX 상태 제어부(381)는, 보정 타이밍을 나타내는 제어 신호를 신호 처리부(383-0 내지 383-N)의 각각의 제어 코드 삽입부(391)에 출력한다.
스텝 S514에서, 송신부(322-2)의 신호 처리부(383-0 내지 383-N)의 각각의 제어 코드 삽입부(391)는, 제어 신호에 의해 표시되는 보정 타이밍에 맞추어서 제어 코드를 삽입함에 의해, 통신 링크 사이 Data Skew를 보정한다.
통신 링크 사이 Data Skew가 보정된 각 레인의 데이터는, 물리 레이어의 다른 처리가 행하여진 후, 수신부에 대해 송신된다.
이상의 처리에 의해, 송신측의 링크 레이어에서 생긴 통신 링크 사이 Data Skew의 제거를, 송신측의 물리 레이어에서 행하는 것이 가능해진다.
제어 코드의 삽입 타이밍을 맞춤에 의해 통신 링크 사이 Data Skew가 보정되는 것으로 하였지만, 물리 레이어에서의 다른 처리의 타이밍을 맞춤에 의해, 통신 링크 사이 Data Skew가 보정되도록 하여도 좋다. 예를 들면, 각 레인에서 처리된 소정의 심볼의 출력 타이밍, Start Code나 End Code 등의 다른 제어 코드의 삽입 타이밍을 맞춤에 의해, 통신 링크 사이 Data Skew가 보정되도록 하는 것도 가능하다.
또한, CIS I/F의 멀티 통신 링크를 이용한 전송 시스템에서도, 같은 처리에 의해, 통신 링크 사이 Data Skew의 보정이 수신측의 물리 레이어에서 행하여진다.
<4. 변형례>
수신측의 4개의 레이어 중의 어느 하나의 레이어에서 통신 링크 사이 Data Skew의 보정이 행하여지는 것으로 하였지만, 2개 이상의 레이어에서 통신 링크 사이 Data Skew의 보정이 행하여지도록 하여도 좋다. 즉, 물리 레이어, 링크 레이어, 어댑테이션 레이어, 및 애플리케이션 레이어 중의, 적어도 어느 하나의 레이어에서 통신 링크 사이 Data Skew의 보정이 행하여지도록 하는 것이 가능하다. CIS I/F인 경우, 물리 레이어, 링크 레이어, 및 애플리케이션 레이어 중의, 적어도 어느 하나의 레이어에서 통신 링크 사이 Data Skew의 보정이 행하여지도록 하는 것이 가능하다.
또한, 이상에서는, 수신측 또는 송신측에서 통신 링크 사이 Data Skew의 보정이 행하여지는 것으로 하였지만, 수신측과 송신측의 쌍방에서 통신 링크 사이 Data Skew의 보정이 행하여지도록 하여도 좋다.
멀티 통신 링크를 구성하는 통신 링크의 수가 2개인 것으로 하였지만, 3개 이상이라도 좋다.
이상에서는, 이미지 센서(11)와 DSP(12)가 동일한 장치 내에 마련되는 것으로 하였지만, 각각 다른 장치 내에 마련되도록 하여도 좋다. 송신측 LSI(311)와 수신측 LSI(312)에 대해서도 마찬가지로, 동일한 장치 내에 마련되도록 하여도 좋고, 각각 다른 장치 내에 마련되도록 하여도 좋다.
·컴퓨터의 구성례
상술한 일련의 처리는, 하드웨어에 의해 실행할 수도 있고, 소프트웨어에 의해 실행할 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 전용의 하드웨어에 조립되어 있는 컴퓨터, 또는 범용의 퍼스널 컴퓨터 등에, 프로그램 기록 매체로부터 인스톨된다.
도 59는, 상술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어의 구성례를 도시하는 블록도이다.
CPU(Central Processing Unit)(1001), ROM(Read Only Memory)(1002), RAM(Random Access Memory)(1003)는, 버스(1004)에 의해 상호 접속되어 있다.
버스(1004)에는, 또한, 입출력 인터페이스(1005)가 접속되어 있다. 입출력 인터페이스(1005)에는, 키보드, 마우스 등으로 이루어지는 입력부(1006), 디스플레이, 스피커 등으로 이루어지는 출력부(1007)가 접속된다. 또한, 입출력 인터페이스(1005)에는, 하드 디스크나 불휘발성의 메모리 등으로 이루어지는 기억부(1008), 네트워크 인터페이스 등으로 이루어지는 통신부(1009), 리무버블 미디어(1011)를 구동하는 드라이브(1010)가 접속된다.
이상과 같이 구성되는 컴퓨터에서는, CPU(1001)가, 예를 들면, 기억부(1008)에 기억되어 있는 프로그램을 입출력 인터페이스(1005) 및 버스(1004)를 통하여 RAM(1003)에 로드하여 실행함에 의해, 상술한 일련의 처리가 행하여진다.
CPU(1001)가 실행하는 프로그램은, 예를 들면 리무버블 미디어(1011)에 기록하여, 또는, 근거리 통신망, 인터넷, 디지털 방송이라는, 유선 또는 무선의 전송 매체를 통하여 제공되고, 기억부(1008)에 인스톨된다.
또한, 컴퓨터가 실행하는 프로그램은, 본 명세서에서 설명하는 순서에 따라 시계열로 처리가 행하여지는 프로그램이라도 좋고, 병렬로, 또는 호출이 행하여진 때 등의 필요한 타이밍에서 처리가 행하여지는 프로그램이라도 좋다.
본 기술의 실시의 형태는, 상술한 실시의 형태로 한정되는 것이 아니고, 본 기술의 요지를 일탈하지 않는 범위에서 여러 가지의 변경이 가능하다.
또한, 본 명세서에 기재된 효과는 어디까지나 예시이고 한정되는 것이 아니고, 또한 다른 효과가 있어도 좋다.
<5. 응용례>
본 개시에 관한 기술은, 다양한 제품에 응용할 수 있다. 예를 들면, 본 개시에 관한 기술은, 내시경 수술 시스템에 적용되어도 좋다. 이 경우, 상술한 이미지 센서(11)는, 내시경측의 몸체 내에 마련되고, DSP(12)는, 내시경으로부터 송신되어 온 화상 데이터의 처리를 행하는 화상 처리 장치측의 몸체 내에 마련된다.
도 60은, 본 개시에 관한 기술이 적용될 수 있는 내시경 수술 시스템(5000)의 개략적인 구성의 한 예를 도시하는 도면이다. 도 60에서는, 수술자(의사)(5067)가, 내시경 수술 시스템(5000)을 이용하여, 환자 베드(5069)상의 환자(5071)에게 수술을 행하여 있는 양상이 도시되어 있다. 도시하는 바와 같이, 내시경 수술 시스템(5000)은, 내시경(5001)과, 그 밖의 수술구(5017)와, 내시경(5001)을 지지하는 지지 암 장치(5027)와, 내시경하 수술을 위한 각종의 장치가 탑재된 카트(5037)로 구성된다.
내시경 수술에서는, 복벽을 잘라서 개복하는 대신에, 트로카(5025a∼5025d)라고 불리는 통형상의 개공(開孔) 기구가 복벽에 복수 천자(穿刺)된다. 그리고, 트로카(5025a∼5025d)로부터, 내시경(5001)의 경통(5003)이나, 그 밖의 수술구(5017)가 환자(5071)의 체강 내에 삽입된다. 도시한 예에서는, 그 밖의 수술구(5017)로서, 기복 튜브(5019), 에너지 처치구(5021) 및 겸자(鉗子)(5023)가, 환자(5071)의 체강 내에 삽입되어 있다. 또한, 에너지 처치구(5021)는, 고주파 전류나 초음파 진동에 의해, 조직의 절개 및 박리, 또는 혈관의 봉지 등을 행하는 처치구이다. 단, 도시한 수술구(5017)는 어디까지나 한 예이고, 수술구(5017)로서는, 예를 들면 섭자(攝子), 리트랙터 등, 일반적으로 내시경하 수술에서 사용되는 각종의 수술구가 사용되면 좋다.
내시경(5001)에 의해 촬영된 환자(5071)의 체강 내의 수술부의 화상이, 표시 장치(5041)에 표시된다. 수술자(5067)는, 표시 장치(5041)에 표시된 수술부의 화상을 리얼타임으로 보면서, 에너지 처치구(5021)나 겸자(5023)를 이용하여, 예를 들면 환부를 절제하는 등의 처치를 행하다. 또한, 도시는 생략하고 있지만, 기복 튜브(5019), 에너지 처치구(5021) 및 겸자(5023)는, 수술 중에, 수술자(5067) 또는 조수 등에 의해 지지된다.
(지지 암 장치)
지지 암 장치(5027)는, 베이스부(5029)로부터 연신하는 암부(5031)를 구비한다. 도시한 예에서는, 암부(5031)는, 관절부(5033a, 5033b, 5033c), 및 링크(5035a, 5035b)로 구성되어 있고, 암 제어 장치(5045)로부터의 제어에 의해 구동된다. 암부(5031)에 의해 내시경(5001)이 지지되고, 그 위치 및 자세가 제어된다. 이에 의해, 내시경(5001)의 안정적인 위치의 고정이 실현될 수 있다.
(내시경)
내시경(5001)은, 선단부터 소정 길이의 영역이 환자(5071)의 체강 내에 삽입되는 경통(5003)과, 경통(5003)의 기단에 접속되는 카메라 헤드(5005)로 구성된다. 도시한 예에서는, 경성의 경통(5003)을 갖는 이른바 경성경으로서 구성된 내시경(5001)을 도시하고 있지만, 내시경(5001)은, 연성의 경통(5003)을 갖는 이른바 연성경으로서 구성되어도 좋다.
경통(5003)의 선단에는, 대물 렌즈가 감입된 개구부가 마련되어 있다. 내시경(5001)에는 광원 장치(5043)가 접속되어 있고, 당해 광원 장치(5043)에 의해 생성된 광이, 경통(5003)의 내부에 연설되는 라이트 가이드에 의해 당해 경통의 선단까지 도광되고, 대물 렌즈를 통하여 환자(5071)의 체강 내의 관찰 대상을 향하여 조사된다. 또한, 내시경(5001)은, 직시경(直視鏡)이라도 좋고, 사시경(斜視鏡) 또는 측시경(側視鏡)이라도 좋다.
카메라 헤드(5005)의 내부에는 광학계 및 촬상 소자가 마련되어 있고, 관찰 대상으로부터의 반사광(관찰광)는 당해 광학계에 의해 당해 촬상 소자에 집광된다. 당해 촬상 소자에 의해 관찰광이 광전변환되고, 관찰광에 대응하는 전기 신호, 즉 관찰상에 대응하는 화상 신호가 생성된다. 당해 화상 신호는, RAW 데이터로서 카메라 컨트롤 유닛(CCU:Camera Control Unit)(5039)에 송신된다. 또한, 카메라 헤드(5005)에는, 그 광학계를 적절히 구동시킴에 의해, 배율 및 초점 거리를 조정하는 기능이 탑재된다.
또한, 예를 들면 입체시(3D 표시) 등에 대응하기 위해, 카메라 헤드(5005)에는 촬상 소자가 복수 마련되어도 좋다. 이 경우, 경통(5003)의 내부에는, 당해 복수의 촬상 소자의 각각에 관찰광을 도광하기 위해, 릴레이 광학계가 복수계통 마련된다.
(카트에 탑재되는 각종의 장치)
CCU(5039)는, CPU(Central Processing Unit)나 GPU(Graphics Processing Unit) 등에 의해 구성되고, 내시경(5001) 및 표시 장치(5041)의 동작을 통괄적으로 제어한다. 구체적으로는, CCU(5039)는, 카메라 헤드(5005)로부터 수취한 화상 신호에 대해, 예를 들면 현상 처리(디모자이크 처리) 등의, 당해 화상 신호에 의거한 화상을 표시하기 위한 각종의 화상 처리를 시행한다. CCU(5039)는, 당해 화상 처리를 시행한 화상 신호를 표시 장치(5041)에 제공한다. 또한, CCU(5039)는, 카메라 헤드(5005)에 대해 제어 신호를 송신하여, 그 구동을 제어한다. 당해 제어 신호에는, 배율이나 초점 거리 등, 촬상 조건에 관한 정보가 포함될 수 있다.
표시 장치(5041)는, CCU(5039)로부터의 제어에 의해, 당해 CCU(5039)에 의해 화상 처리가 시행된 화상 신호에 의거한 화상을 표시한다. 내시경(5001)이 예를 들면 4K(수평 화소수 3840×수직 화소수 2160) 또는 8K(수평 화소수 7680×수직 화소수 4320) 등의 고해상도의 촬영에 대응한 것인 경우, 및/또는 3D 표시에 대응한 것인 경우에는, 표시 장치(5041)로서는, 각각에 대응하여, 고해상도의 표시가 가능한 것, 및/또는 3D 표시 가능한 것이 이용될 수 있다. 4K 또는 8K 등의 고해상도의 촬영에 대응하는 것인 경우, 표시 장치(5041)로서 55인치 이상의 사이즈의 것을 이용함으로써 더한층의 몰입감을 얻을 수 있다. 또한, 용도에 응하여, 해상도, 사이즈가 다른 복수의 표시 장치(5041)가 마련되어도 좋다.
광원 장치(5043)는, 예를 들면 LED(light emitting diode) 등의 광원으로 구성되고, 수술부를 촬영할 때의 조사광을 내시경(5001)에 공급한다.
암 제어 장치(5045)는, 예를 들면 CPU 등의 프로세서에 의해 구성되고, 소정의 프로그램에 따라 동작함에 의해, 소정의 제어 방식에 따라 지지 암 장치(5027)의 암부(5031)의 구동을 제어한다.
입력 장치(5047)는, 내시경 수술 시스템(5000)에 대한 입력 인터페이스이다. 유저는, 입력 장치(5047)를 통하여, 내시경 수술 시스템(5000)에 대해 각종의 정보의 입력이나 지시 입력을 할 수가 있다. 예를 들면, 유저는, 입력 장치(5047)를 통하여, 환자의 신체 정보나, 수술의 술식(術式)에 관한 정보 등, 수술에 관한 각종의 정보를 입력한다. 또한, 예를 들면, 유저는, 입력 장치(5047)를 통하여, 암부(5031)를 구동시키는 취지의 지시나, 내시경(5001)에 의한 촬상 조건(조사광의 종류, 배율 및 초점 거리 등)를 변경하는 취지의 지시, 에너지 처치구(5021)를 구동시키는 취지의 지시 등을 입력한다.
입력 장치(5047)의 종류는 한정되지 않고, 입력 장치(5047)는 각종의 공지의 입력 장치라면 좋다. 입력 장치(5047)로서는, 예를 들면, 마우스, 키보드, 터치 패널, 스위치, 풋 스위치(5057) 및/또는 레버 등이 적용될 수 있다. 입력 장치(5047)로서 터치 패널이 이용되는 경우에는, 당해 터치 패널은 표시 장치(5041)의 표시면상에 마련되어도 좋다.
또는, 입력 장치(5047)는, 예를 들면 안경형의 웨어러블 디바이스나 HMD(Head Mounted Display) 등의, 유저에 의해 장착되는 디바이스이고, 이들의 디바이스에 의해 검출되는 유저의 제스처나 시선(視線)에 응하여 각종의 입력이 행하여진다. 또한, 입력 장치(5047)는, 유저의 움직임을 검출 가능한 카메라를 포함하고, 당해 카메라에 의해 촬상된 영상으로부터 검출되는 유저의 제스처나 시선에 응하여 각종의 입력이 행하여진다. 또한, 입력 장치(5047)는, 유저의 소리를 수음(收音) 가능한 마이크로폰을 포함하고, 당해 마이크로폰을 통하여 음성에 의해 각종의 입력이 행하여진다. 이와 같이, 입력 장치(5047)가 비접촉으로 각종의 정보를 입력 가능하게 구성됨에 의해, 특히 청결역(clean area)에 속하는 유저(예를 들면 수술자(5067))가, 불결역(不潔域, unclean area)에 속하는 기기를 비접촉으로 조작하는 것이 가능해진다. 또한, 유저는, 소지하고 있는 수술구로부터 손을 떼는 일 없이 기기를 조작하는 것이 가능해지기 때문에, 유저의 편리성이 향상한다.
처치구 제어 장치(5049)는, 조직의 소작(燒灼), 절개 또는 혈관의 봉지 등을 위한 에너지 처치구(5021)의 구동을 제어한다. 기복 장치(5051)는, 내시경(5001)에 의한 시야의 확보 및 수술자의 작업 공간의 확보의 목적으로, 환자(5071)의 체강을 팽창시키기 위해, 기복 튜브(5019)를 통하여 당해 체강 내에 가스를 보낸다. 레코더(5053)는, 수술에 관한 각종의 정보를 기록 가능한 장치이다. 프린터(5055)는, 수술에 관한 각종의 정보를, 텍스트, 화상 또는 그래프 등 각종의 형식으로 인쇄 가능한 장치이다.
이하, 내시경 수술 시스템(5000)에서 특히 특징적인 구성에 관해, 더욱 상세히 설명한다.
(지지 암 장치)
지지 암 장치(5027)는, 기대인 베이스부(5029)와, 베이스부(5029)로부터 연신하는 암부(5031)를 구비한다. 도시한 예에서는, 암부(5031)는, 복수의 관절부(5033a, 5033b, 5033c)와, 관절부(5033b)에 의해 연결된 복수의 링크(5035a, 5035b)로 구성되어 있지만, 도 60에서는, 간단함을 위해, 암부(5031)의 구성을 간략화하여 도시하고 있다. 실제로는, 암부(5031)가 소망하는 자유도를 갖도록, 관절부(5033a∼5033c) 및 링크(5035a, 5035b)의 형상, 수 및 배치, 및 관절부(5033a∼5033c)의 회전축의 방향 등이 적절히 설정될 수 있다. 예를 들면, 암부(5031)는, 알맞게, 6자유도 이상의 자유도를 갖도록 구성될 수 있다. 이에 의해, 암부(5031)의 가동 범위 내에서 내시경(5001)을 자유롭게 이동시키는 것이 능해지기 때문에, 소망하는 방향부터 내시경(5001)의 경통(5003)을 환자(5071)의 체강 내에 삽입하는 것이 가능해진다.
관절부(5033a∼5033c)에는 액추에이터가 마련되어 있고, 관절부(5033a∼5033c)는 당해 액추에이터의 구동에 의해 소정의 회전축 주위로 회전 가능하게 구성되어 있다. 당해 액추에이터의 구동이 암 제어 장치(5045)에 의해 제어됨에 의해, 각 관절부(5033a∼5033c)의 회전 각도가 제어되고, 암부(5031)의 구동이 제어된다. 이에 의해, 내시경(5001)의 위치 및 자세의 제어가 실현될 수 있다. 이때, 암 제어 장치(5045)는, 힘 제어 또는 위치 제어 등, 각종의 공지의 제어 방식에 의해 암부(5031)의 구동을 제어할 수 있다.
예를 들면, 수술자(5067)가, 입력 장치(5047)(풋 스위치(5057)를 포함한다)를 통하여 적절히 조작 입력을 행함에 의해, 당해 조작 입력에 응하여 암 제어 장치(5045)에 의해 암부(5031)의 구동이 적절히 제어되고, 내시경(5001)의 위치 및 자세가 제어되면 좋다. 당해 제어에 의해, 암부(5031)의 선단의 내시경(5001)을 임의의 위치로부터 임의의 위치까지 이동시킨 후, 그 이동 후의 위치에서 고정적으로 지지할 수 있다. 또한, 암부(5031)는, 이른바 마스터-슬레이브 방식으로 조작되어도 좋다. 이 경우, 암부(5031)는, 수술실로부터 떨어진 장소에 마련된 입력 장치(5047)를 통하여 유저에 의해 원격 조작될 수 있다.
또한, 힘 제어가 적용되는 경우에는, 암 제어 장치(5045)는, 유저로부터의 외력을 받아, 그 외력을 모방하여 스무스하게 암부(5031)가 이동하도록, 각 관절부(5033a∼5033c)의 액추에이터를 구동시키는, 이른바 파워 어시스트 제어를 행하여도 좋다. 이에 의해, 유저가 직접 암부(5031)에 접촉하면서 암부(5031)를 이동시킬 때에, 비교적 가벼운 힘으로 당해 암부(5031)를 이동시킬 수 있다. 따라서, 보다 직감적으로, 보다 간이한 조작으로 내시경(5001)을 이동시키는 것이 가능해저서, 유저의 편리성을 향상시킬 수 있다.
여기서, 일반적으로, 내시경하 수술에서는, 스코피스트라고 불리는 의사에 의해 내시경(5001)이 지지되어 있다. 이에 대해, 지지 암 장치(5027)를 이용함에 의해, 사람손에 의하지 않고서 내시경(5001)의 위치를 보다 확실하게 고정하는 것이 가능해지기 때문에, 수술부의 화상을 안정적으로 얻을 수 있고, 수술을 원활히 행하는 것이 가능해진다.
또한, 암 제어 장치(5045)는 반드시 카트(5037)에 마련되지 않아도 좋다. 또한, 암 제어 장치(5045)는 반드시 하나의 장치가 아니라도 좋다. 예를 들면, 암 제어 장치(5045)는, 지지 암 장치(5027)의 암부(5031)의 각 관절부(5033a∼5033c)에 각각 마련되어도 좋고, 복수의 암 제어 장치(5045)가 서로 협동함에 의해, 암부(5031)의 구동 제어가 실현되어도 좋다.
(광원 장치)
광원 장치(5043)는, 내시경(5001)으로 수술부를 촬영할 때의 조사광을 공급한다. 광원 장치(5043)는, 예를 들면 LED, 레이저광원 또는 이들의 조합에 의해 구성되는 백색광원으로 구성된다. 이때, RGB 레이저광원의 조합에 의해 백색광원이 구성되는 경우에는, 각 색(각 파장)의 출력 강도 및 출력 타이밍을 고정밀도로 제어할 수 있기 때문에, 광원 장치(5043)에서 촬상 화상의 화이트 밸런스의 조정을 행할 수가 있다. 또한, 이 경우에는, RGB 레이저광원 각각으로부터의 레이저광을 시분할로 관찰 대상에 조사하고, 그 조사 타이밍에 동기하여 카메라 헤드(5005)의 촬상 소자의 구동을 제어함에 의해, RGB 각각에 대응하는 화상을 시분할로 촬상하는 것도 가능하다. 당해 방법에 의하면, 당해 촬상 소자에 컬러 필터를 마련하지 않아도, 컬러 화상을 얻을 수 있다.
또한, 광원 장치(5043)는, 출력하는 광의 강도를 소정의 시간마다 변경하도록 그 구동이 제어되어도 좋다. 그 광의 강도의 변경의 타이밍에 동기하여 카메라 헤드(5005)의 촬상 소자의 구동을 제어하여 시분할로 화상을 취득하고, 그 화상을 합성함에 의해, 이른바 흑바램(blown-out highlight) 및 백바램(blocked up shadow)이 없는 고다이내믹 레인지의 화상을 생성할 수 있다.
또한, 광원 장치(5043)는, 특수광 관찰에 대응하는 소정의 파장 대역의 광을 공급 가능하게 구성되어도 좋다. 특수광 관찰에서는, 예를 들면, 체조직에서의 광의 흡수의 파장 의존성을 이용하여, 통상의 관찰시에 있어서의 조사광(즉, 백색광)에 비하여 협대역의 광을 조사함에 의해, 점막 표층의 혈관 등의 소정의 조직을 고콘트라스트로 촬영하는, 이른바 협대역 광관찰(Narrow Band Imaging)이 행하여진다. 또는, 특수광 관찰에서는, 여기광을 조사함에 의해 발생하는 형광에 의해 화상을 얻는 형광 관찰이 행하여져도 좋다. 형광 관찰에서는, 체조직에 여기광을 조사하여 당해 체조직으로부터의 형광을 관찰하는 것(자가 형광 관찰), 또는 인도시아닌그린(ICG) 등의 시약을 체조직에 국주(局注)함과 함께 당해 체조직에 그 시약의 형광 파장에 대응하는 여기광을 조사하여 형광상을 얻는 것 등이 행하여질 수 있다. 광원 장치(5043)는, 이와 같은 특수광 관찰에 대응하는 협대역광 및/또는 여기광을 공급 가능하게 구성될 수 있다.
(카메라 헤드 및 CCU)
도 61을 참조하여, 내시경(5001)의 카메라 헤드(5005) 및 CCU(5039)의 기능에 관해보다 상세히 설명한다. 도 61은, 도 60에 도시하는 카메라 헤드(5005) 및 CCU(5039)의 기능 구성의 한 예를 도시하는 블록도이다.
도 61을 참조하면, 카메라 헤드(5005)는, 그 기능으로서, 렌즈 유닛(5007)과, 촬상부(5009)와, 구동부(5011)와, 통신부(5013)와, 카메라 헤드 제어부(5015)를 갖는다. 또한, CCU(5039)는, 그 기능으로서, 통신부(5059)와, 화상 처리부(5061)와, 제어부(5063)를 갖는다. 카메라 헤드(5005)와 CCU(5039)는, 전송 케이블(5065)에 의해 쌍방향으로 통신 가능하게 접속되어 있다.
우선, 카메라 헤드(5005)의 기능 구성에 관해 설명한다. 렌즈 유닛(5007)은, 경통(5003)과의 접속부에 마련되는 광학계이다. 경통(5003)의 선단부터 받아들여진 관찰광은, 카메라 헤드(5005)까지 도광되고, 당해 렌즈 유닛(5007)에 입사한다. 렌즈 유닛(5007)은, 줌렌즈 및 포커스 렌즈를 포함하는 복수의 렌즈가 조합되어 구성된다. 렌즈 유닛(5007)은, 촬상부(5009)의 촬상 소자의 수광면상에 관찰광을 집광하도록, 그 광학 특성이 조정되어 있다. 또한, 줌렌즈 및 포커스 렌즈는, 촬상 화상의 배율 및 초점의 조정을 위해, 그 광축상의 위치가 이동 가능하게 구성된다.
촬상부(5009)는 촬상 소자에 의해 구성되고, 렌즈 유닛(5007)의 후단에 배치된다. 렌즈 유닛(5007)을 통과한 관찰광은, 당해 촬상 소자의 수광면에 집광되고, 광전변환에 의해, 관찰상에 대응하는 화상 신호가 생성된다. 촬상부(5009)에 의해 생성된 화상 신호는, 통신부(5013)에 제공된다.
촬상부(5009)를 구성하는 촬상 소자로서는, 예를 들면 CMOS(Complementary Metal Oxide Semiconductor) 타입의 이미지 센서이고, Bayer 배열을 갖는 컬러 촬영 가능한 것이 이용된다. 또한, 당해 촬상 소자로서는, 예를 들면 4K 이상의 고해상도의 화상의 촬영에 대응 가능한 것이 이용되어도 좋다. 수술부의 화상이 고해상도로 얻어짐에 의해, 수술자(5067)는, 당해 수술부의 양상을 보다 상세히 파악할 수 있고, 수술을 보다 원활히 진행하는 것이 가능해진다.
또한, 촬상부(5009)를 구성하는 촬상 소자는, 3D 표시에 대응하는 우안용 및 좌안용의 화상 신호를 각각 취득하기 위한 한 쌍의 촬상 소자를 갖도록 구성된다. 3D 표시가 행하여짐에 의해, 수술자(5067)는 수술부에서의 생체조직의 깊이를 보다 정확하게 파악하는 것이 가능해진다. 또한, 촬상부(5009)가 다판식으로 구성된 경우에는, 각 촬상 소자에 대응하여, 렌즈 유닛(5007)도 복수 계통 마련된다.
또한, 촬상부(5009)는, 반드시 카메라 헤드(5005)에 마련되지 않아도 좋다. 예를 들면, 촬상부(5009)는, 경통(5003)의 내부에, 대물 렌즈의 직후에 마련되어도 좋다.
구동부(5011)는, 액추에이터에 의해 구성되고, 카메라 헤드 제어부(5015)로부터의 제어에 의해, 렌즈 유닛(5007)의 줌렌즈 및 포커스 렌즈를 광축에 따라 소정의 거리만큼 이동시킨다. 이에 의해, 촬상부(5009)에 의한 촬상 화상의 배율 및 초점이 적절히 조정될 수 있다.
통신부(5013)는, CCU(5039)와의 사이에서 각종의 정보를 송수신하기 위한 통신 장치에 의해 구성된다. 통신부(5013)는, 촬상부(5009)로부터 얻은 화상 신호를 RAW 데이터로서 전송 케이블(5065)를 통하여 CCU(5039)에 송신한다. 이때, 수술부의 촬상 화상을 저(低)레이턴시로 표시하기 위해, 당해 화상 신호는 광통신에 의해 송신되는 것이 바람직하다. 수술시에는, 수술자(5067)가 촬상 화상에 의해 환부의 상태를 관찰하면서 수술을 행하기 위해, 보다 안전하고 확실한 수술을 위해서는, 수술부의 동화상이 가능한 한 리얼타임으로 표시되는 것이 요구되기 때문이다. 광통신이 행하여지는 경우에는, 통신부(5013)에는, 전기 신호를 광신호로 변환하는 광전변환 모듈이 마련된다. 화상 신호는 당해 광전변환 모듈에 의해 광신호로 변환된 후, 전송 케이블(5065)를 통하여 CCU(5039)에 송신된다.
또한, 통신부(5013)는, CCU(5039)로부터, 카메라 헤드(5005)의 구동을 제어하기 위한 제어 신호를 수신한다. 당해 제어 신호에는, 예를 들면, 촬상 화상의 프레임 레이트를 지정하는 취지의 정보, 촬상시의 노출치를 지정하는 취지의 정보, 및/또는 촬상 화상의 배율 및 초점을 지정하는 취지의 정보 등, 촬상 조건에 관한 정보가 포함된다. 통신부(5013)는, 수신한 제어 신호를 카메라 헤드 제어부(5015)에 제공한다. 또한, CCU(5039)로부터의 제어 신호도, 광통신에 의해 전송되어도 좋다. 이 경우, 통신부(5013)에는, 광신호를 전기 신호로 변환하는 광전변환 모듈이 마련되고, 제어 신호는 당해 광전변환 모듈에 의해 전기 신호로 변환된 후, 카메라 헤드 제어부(5015)에 제공된다.
또한, 상기한 프레임 레이트나 노출치, 배율, 초점 등의 촬상 조건은, 취득된 화상 신호에 의거하여 CCU(5039)의 제어부(5063)에 의해 자동적으로 설정된다. 즉, 이른바 AE(Auto Exposure) 기능, AF(Auto Focus) 기능 및 AWB(Auto White Balance) 기능이 내시경(5001)에 탑재된다.
카메라 헤드 제어부(5015)는, 통신부(5013)를 통하여 수신한 CCU(5039)로부터의 제어 신호에 의거하여, 카메라 헤드(5005)의 구동을 제어한다. 예를 들면, 카메라 헤드 제어부(5015)는, 촬상 화상의 프레임 레이트를 지정하는 취지의 정보 및/또는 촬상시의 노광을 지정하는 취지의 정보에 의거하여, 촬상부(5009)의 촬상 소자의 구동을 제어한다. 또한, 예를 들면, 카메라 헤드 제어부(5015)는, 촬상 화상의 배율 및 초점을 지정하는 취지의 정보에 의거하여, 구동부(5011)를 통하여 렌즈 유닛(5007)의 줌렌즈 및 포커스 렌즈를 적절히 이동시킨다. 카메라 헤드 제어부(5015)는, 또한, 경통(5003)이나 카메라 헤드(5005)를 식별하기 위한 정보를 기억하는 기능을 구비하여도 좋다.
또한, 렌즈 유닛(5007)이나 촬상부(5009) 등의 구성을, 기밀성 및 방수성이 높은 밀폐 구조 내에 배치함으로써, 카메라 헤드(5005)에 관해, 오토클레이브 멸균 처리에 대한 내성을 갖게 할 수 있다.
다음에, CCU(5039)의 기능 구성에 관해 설명한다. 통신부(5059)는, 카메라 헤드(5005)와의 사이에서 각종의 정보를 송수신하기 위한 통신 장치에 의해 구성된다. 통신부(5059)는, 카메라 헤드(5005)로부터, 전송 케이블(5065)를 통하여 송신된 화상 신호를 수신한다. 이때, 상기한 바와 같이, 당해 화상 신호는 알맞게 광통신에 의해 송신될 수 있다. 이 경우, 광통신에 대응하여, 통신부(5059)에는, 광신호를 전기 신호로 변환하는 광전변환 모듈이 마련된다. 통신부(5059)는, 전기 신호로 변환한 화상 신호를 화상 처리부(5061)에 제공한다.
또한, 통신부(5059)는, 카메라 헤드(5005)에 대해, 카메라 헤드(5005)의 구동을 제어하기 위한 제어 신호를 송신한다. 당해 제어 신호도 광통신에 의해 송신되면 좋다.
화상 처리부(5061)는, 카메라 헤드(5005)로부터 송신된 RAW 데이터인 화상 신호에 대해 각종의 화상 처리를 시행한다. 당해 화상 처리로서는, 예를 들면 현상 처리, 고화질화 처리(대역 강조 처리, 초해상 처리, NR(Noise reduction) 처리 및/또는 손떨림 보정 처리 등), 및/또는 확대 처리(전자 줌 처리) 등, 각종의 공지의 신호 처리가 포함된다. 또한, 화상 처리부(5061)는, AE, AF 및 AWB를 행하기 위한, 화상 신호에 대한 검파 처리를 행한다.
화상 처리부(5061)는, CPU나 GPU 등의 프로세서에 의해 구성되고, 당해 프로세서가 소정의 프로그램에 따라 동작함에 의해, 상술한 화상 처리나 검파 처리가 행하여질 수 있다. 또한, 화상 처리부(5061)가 복수의 GPU에 의해 구성되는 경우에는, 화상 처리부(5061)는, 화상 신호에 관한 정보를 적절히 분할하고, 이들 복수의 GPU에 의해 병렬적으로 화상 처리를 행한다.
제어부(5063)는, 내시경(5001)에 의한 수술부의 촬상, 및 그 촬상 화상의 표시에 관한 각종의 제어를 행한다. 예를 들면, 제어부(5063)는, 카메라 헤드(5005)의 구동을 제어하기 위한 제어 신호를 생성한다. 이때, 촬상 조건이 유저에 의해 입력되어 있는 경우에는, 제어부(5063)는, 당해 유저에 의한 입력에 의거하여 제어 신호를 생성한다. 또는, 내시경(5001)에 AE 기능, AF 기능 및 AWB 기능이 탑재되어 있는 경우에는, 제어부(5063)는, 화상 처리부(5061)에 의한 검파 처리의 결과에 응하여, 최적의 노출치, 초점 거리 및 화이트 밸런스를 적절히 산출하고, 제어 신호를 생성한다.
또한, 제어부(5063)는, 화상 처리부(5061)에 의해 화상 처리가 시행된 화상 신호에 의거하여, 수술부의 화상을 표시 장치(5041)에 표시시킨다. 이때, 제어부(5063)는, 각종의 화상 인식 기술을 이용하여 수술부 화상 내에서의 각종의 물체를 인식한다. 예를 들면, 제어부(5063)는, 수술부 화상에 포함되는 물체의 에지의 형상이나 색 등을 검출함에 의해, 겸자 등의 수술구, 특정한 생체 부위, 출혈, 에너지 처치구(5021) 사용시의 미스트 등을 인식할 수 있다. 제어부(5063)는, 표시 장치(5041)에 수술부의 화상을 표시시킬 때에, 그 인식 결과를 이용하여, 각종의 수술 지원 정보를 당해 수술부의 화상에 중첩 표시시킨다. 수술 지원 정보가 중첩 표시되고, 수술자(5067)에게 제시됨에 의해, 보다 안전하며 확실하게 수술을 진행하는 것이 가능해진다.
카메라 헤드(5005) 및 CCU(5039)를 접속하는 전송 케이블(5065)는, 전기 신호의 통신에 대응하는 전기 신호 케이블, 광통신에 대응하는 광파이버, 또는 이들의 복합 케이블이다.
여기서, 나타낸 예에서는, 전송 케이블(5065)를 이용하여 유선으로 통신이 행하여지고 있지만, 카메라 헤드(5005)와 CCU(5039) 사이의 통신은 무선으로 행하여져도 좋다. 양자 사이의 통신이 무선으로 행하여지는 경우에는, 전송 케이블(5065)을 수술실 내에 부설할 필요가 없어지기 때문에, 수술실 내에서의 의료 스텝의 이동이 당해 전송 케이블(5065)에 의해 방해되는 사태가 해소될 수 있다.
이상, 본 개시에 관한 기술이 적용될 수 있는 내시경 수술 시스템(5000)의 한 예에 관해 설명하였다. 또한, 여기서는, 한 예로서 내시경 수술 시스템(5000)에 관해 설명하였지만, 본 개시에 관한 기술이 적용될 수 있는 시스템은 이러한 예로 한정되지 않는다. 예를 들면, 본 개시에 관한 기술은, 검사용 연성 내시경 시스템이나 현미경 수술 시스템에 적용되어도 좋다.
[구성의 조합례]
본 기술은, 이하와 같은 구성을 취할 수도 있다.
(1)
송신 장치가 갖는 복수의 송신부의 각각부터 복수의 레인을 사용하여 병렬로 송신된 동일한 데이터 구조를 갖는 데이터 스트림을 수신하는 처리를 제1의 레이어의 처리로서 행하고, 수신한 상기 데이터 스트림을 1계통의 데이터로 통합하고, 상기 데이터 스트림을 구성하는 패킷을 취득하는 처리를 제2의 레이어의 처리로서 행하는 복수의 수신부와,
하나의 상기 송신부와 하나의 상기 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남을 보정하는 제어부를 구비하는 수신 장치.
(2)
복수의 상기 수신부는, 각각, 수신한 상기 데이터 스트림으로부터 기지(旣知) 정보를 검출하고,
상기 제어부는, 각각의 상기 수신부에서의 상기 기지 정보의 검출 타이밍에 의거하여, 상기 타이밍의 어긋남을 보정하는 상기 (1)에 기재된 수신 장치.
(3)
복수의 상기 수신부의 각각은,
상기 제1의 레이어의 처리를 병행하여 행하는 신호 처리부를, 상기 레인의 수와 같은 수만큼 가지며,
상기 제2의 레이어의 처리를 행하는 처리부를 갖는 상기 (2)에 기재된 수신 장치.
(4)
복수의 상기 수신부는, 각각, 상기 기지 정보로서의 제어 코드를 각각의 상기 신호 처리부에서 검출하고,
상기 제어부는, 각각의 상기 신호 처리부에서의 상기 제어 코드의 타이밍을 맞춤에 의해, 상기 타이밍의 어긋남을 보정하는 상기 (3)에 기재된 수신 장치.
(5)
복수의 상기 수신부는, 각각, 상기 패킷을 구성하는 페이로드 데이터를 상기 기지 정보로서 상기 처리부에서 검출하고,
상기 제어부는, 각각의 상기 처리부에서의 상기 페이로드 데이터의 출력의 타이밍을 맞춤에 의해, 상기 타이밍의 어긋남을 보정하는 상기 (3) 또는 (4)에 기재된 수신 장치.
(6)
복수의 상기 수신부의 각각은,
상기 처리부로부터 출력된 상기 패킷을 구성하는 페이로드 데이터를 취득하는 처리를 제3의 레이어의 처리로서 행하는 취득부를 또한 가지며,
상기 패킷을 구성하는 상기 페이로드 데이터를 상기 기지 정보로서 상기 취득부에서 검출하고,
상기 제어부는, 각각의 상기 취득부에서의 상기 페이로드 데이터의, 외부의 정보 처리부에 대한 출력의 타이밍을 맞춤에 의해, 상기 타이밍의 어긋남을 보정하는 상기 (3) 내지 (5) 중의 어느 하나에 기재된 수신 장치.
(7)
상기 제어부는, 복수의 상기 수신부로부터 출력된 데이터를 수신하고, 수신한 상기 데이터의 외부로의 출력 타이밍을 맞춤에 의해, 상기 타이밍의 어긋남을 보정하는 상기 (3) 내지 (6) 중의 어느 하나에 기재된 수신 장치.
(8)
송신 장치가 갖는 복수의 송신부의 각각부터 복수의 레인을 사용하여 병렬로 송신된 동일한 데이터 구조를 갖는 데이터 스트림을 수신하는 처리인 제1의 레이어의 처리와, 수신한 상기 데이터 스트림을 1계통의 데이터로 통합하고, 상기 데이터 스트림을 구성하는 패킷을 취득하는 처리인 제2의 레이어의 처리를 복수의 수신부에서 행하여,
하나의 상기 송신부와 하나의 상기 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남을 보정하는 스텝을 포함하는 제어 방법.
(9)
컴퓨터에,
송신 장치가 갖는 복수의 송신부의 각각부터 복수의 레인을 사용하여 병렬로 송신된 동일한 데이터 구조를 갖는 데이터 스트림을 수신하는 처리인 제1의 레이어의 처리와, 수신한 상기 데이터 스트림을 1계통의 데이터로 통합하고, 상기 데이터 스트림을 구성하는 패킷을 취득하는 처리인 제2의 레이어의 처리를 복수의 수신부에서 행하여,
하나의 상기 송신부와 하나의 상기 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남을 보정하는 스텝을 포함하는 처리를 실행시키는 프로그램.
(10)
전송 대상의 데이터를 격납하는 패킷의 생성과, 생성한 상기 패킷을 복수의 레인에 분배하는 처리를 포함하는 처리를 제1의 레이어의 처리로서 행하고, 분배한 상기 패킷을 포함하는 동일한 데이터 구조를 갖는 데이터 스트림을, 복수의 수신부를 갖는 수신 장치에 대해, 복수의 상기 레인을 사용하여 병렬로 송신하는 처리를 제2의 레이어의 처리로서 행하는 복수의 송신부와,
하나의 상기 송신부와 하나의 상기 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남을 보정하는 제어부를 구비한 송신 장치.
(11)
복수의 상기 송신부의 각각은,
상기 제2의 레이어의 처리를 병행하여 행하는 신호 처리부를, 상기 레인의 수와 같은 수만큼 가지며,
상기 제어부는, 각각의 상기 신호 처리부에서의 제어 코드의 상기 데이터 스트림에의 삽입의 타이밍을 맞춤에 의해, 상기 타이밍의 어긋남을 보정하는 상기 (10)에 기재된 송신 장치.
(12)
전송 대상의 데이터를 격납하는 패킷의 생성과, 생성한 상기 패킷을 복수의 레인에 분배하는 처리를 포함하는 처리인 제1의 레이어의 처리와, 분배한 상기 패킷을 포함하는 동일한 데이터 구조를 갖는 데이터 스트림을, 복수의 수신부를 갖는 수신 장치에 대해, 복수의 상기 레인을 사용하여 병렬로 송신하는 처리인 제2의 레이어의 처리를 복수의 송신부에서 행하여,
하나의 상기 송신부와 하나의 상기 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남을 보정하는 스텝을 포함하는 제어 방법.
(13)
컴퓨터에,
전송 대상의 데이터를 격납하는 패킷의 생성과, 생성한 상기 패킷을 복수의 레인에 분배하는 처리를 포함하는 처리인 제1의 레이어의 처리와, 분배한 상기 패킷을 포함하는 동일한 데이터 구조를 갖는 데이터 스트림을, 복수의 수신부를 갖는 수신 장치에 대해, 복수의 상기 레인을 사용하여 병렬로 송신하는 처리인 제2의 레이어의 처리를 복수의 송신부에서 행하여,
하나의 상기 송신부와 하나의 상기 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남을 보정하는 스텝을 포함하는 처리를 실행시키는 프로그램.
(14)
전송 대상의 데이터를 격납하는 패킷의 생성과, 생성한 상기 패킷을 복수의 레인에 분배하는 처리를 포함하는 처리를 제1의 레이어의 처리로서 행하고, 분배한 상기 패킷을 포함하는 동일한 데이터 구조를 갖는 데이터 스트림을, 복수의 상기 레인을 사용하여 병렬로 송신하는 처리를 제2의 레이어의 처리로서 행하는 복수의 송신부를 구비하는
송신 장치와,
복수의 상기 송신부의 각각부터 복수의 레인을 사용하여 병렬로 송신된 상기 데이터 스트림을 수신하는 처리를 상기 제2의 레이어의 처리로서 행하고, 수신한 상기 데이터 스트림을 1계통의 데이터로 통합하고, 상기 데이터 스트림을 구성하는 패킷을 취득하는 처리를 상기 제1의 레이어의 처리로서 행하는 복수의 수신부와,
하나의 상기 송신부와 하나의 상기 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남을 보정하는 제어부를 구비하는
수신 장치를
포함하는 송수신 시스템.
1 : 전송 시스템
11 : 이미지 센서
12 : DSP
21 : 촬상부
22 : 송신부
31 : 수신부
32 : 화상 처리부
62 : Pixel to Byte 변환부
63 : 페이로드 ECC 삽입부
64 : 패킷 생성부
65 : 레인 분배부
72 : 헤더 생성부
83-0 내지 83-N : 신호 처리부
91 : 제어 코드 삽입부
92 : 8B10B 심볼 인코더
93 : 동기부
94 : 송신부
102-0 내지 102-N : 신호 처리부
111 : 수신부
112 : 클록 생성부
113 : 동기부
114 : 심볼 동기부
115 : 10B8B 심볼 디코더
116 : 스큐 보정부
117 : 제어 코드 제거부
122 : 레인 통합부
123 : 패킷 분리부
124 : 페이로드 에러 정정부
125 : Byte to Pixel 변환부
132 : 헤더 에러 정정부

Claims (14)

  1. 송신 장치가 갖는 복수의 송신부의 각각부터 복수의 레인을 사용하여 병렬로 송신된 동일한 데이터 구조를 갖는 데이터 스트림을 수신하는 처리를 제1의 레이어의 처리로서 행하고, 수신한 상기 데이터 스트림을 1계통의 데이터로 통합하고, 상기 데이터 스트림을 구성하는 패킷을 취득하는 처리를 제2의 레이어의 처리로서 행하는 복수의 수신부와,
    하나의 상기 송신부와 하나의 상기 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남을 보정하는 제어부를 구비하는 것을 특징으로 하는 수신 장치.
  2. 제1항에 있어서,
    복수의 상기 수신부는, 각각, 수신한 상기 데이터 스트림으로부터 기지 정보를 검출하고,
    상기 제어부는, 각각의 상기 수신부에서의 상기 기지 정보의 검출 타이밍에 의거하여, 상기 타이밍의 어긋남을 보정하는 것을 특징으로 하는 수신 장치.
  3. 제2항에 있어서,
    복수의 상기 수신부의 각각은,
    상기 제1의 레이어의 처리를 병행하여 행하는 신호 처리부를, 상기 레인의 수와 같은 수만큼 가지며,
    상기 제2의 레이어의 처리를 행하는 처리부를 갖는 것을 특징으로 하는 수신 장치.
  4. 제3항에 있어서,
    복수의 상기 수신부는, 각각, 상기 기지 정보로서의 제어 코드를 각각의 상기 신호 처리부에서 검출하고,
    상기 제어부는, 각각의 상기 신호 처리부에서의 상기 제어 코드의 타이밍을 맞춤에 의해, 상기 타이밍의 어긋남을 보정하는 것을 특징으로 하는 수신 장치.
  5. 제3항에 있어서,
    복수의 상기 수신부는, 각각, 상기 패킷을 구성하는 페이로드 데이터를 상기 기지 정보로서 상기 처리부에서 검출하고,
    상기 제어부는, 각각의 상기 처리부에서의 상기 페이로드 데이터의 출력의 타이밍을 맞춤에 의해, 상기 타이밍의 어긋남을 보정하는 것을 특징으로 하는 수신 장치.
  6. 제3항에 있어서,
    복수의 상기 수신부의 각각은,
    상기 처리부로부터 출력된 상기 패킷을 구성하는 페이로드 데이터를 취득하는 처리를 제3의 레이어의 처리로서 행하는 취득부를 또한 가지며,
    상기 패킷을 구성하는 상기 페이로드 데이터를 상기 기지 정보로서 상기 취득부에서 검출하고,
    상기 제어부는, 각각의 상기 취득부에서의 상기 페이로드 데이터의, 외부의 정보 처리부에 대한 출력의 타이밍을 맞춤에 의해, 상기 타이밍의 어긋남을 보정하는 것을 특징으로 하는 수신 장치.
  7. 제3항에 있어서,
    상기 제어부는, 복수의 상기 수신부로부터 출력된 데이터를 수신하고, 수신한 상기 데이터의 외부로의 출력 타이밍을 맞춤에 의해, 상기 타이밍의 어긋남을 보정하는 것을 특징으로 하는 수신 장치.
  8. 송신 장치가 갖는 복수의 송신부의 각각부터 복수의 레인을 사용하여 병렬로 송신된 동일한 데이터 구조를 갖는 데이터 스트림을 수신하는 처리인 제1의 레이어의 처리와, 수신한 상기 데이터 스트림을 1계통의 데이터로 통합하고, 상기 데이터 스트림을 구성하는 패킷을 취득하는 처리인 제2의 레이어의 처리를 복수의 수신부에서 행하여,
    하나의 상기 송신부와 하나의 상기 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남을 보정하는 스텝을 포함하는 것을 특징으로 하는 제어 방법.
  9. 컴퓨터에,
    송신 장치가 갖는 복수의 송신부의 각각부터 복수의 레인을 사용하여 병렬로 송신된 동일한 데이터 구조를 갖는 데이터 스트림을 수신하는 처리인 제1의 레이어의 처리와, 수신한 상기 데이터 스트림을 1계통의 데이터로 통합하고, 상기 데이터 스트림을 구성하는 패킷을 취득하는 처리인 제2의 레이어의 처리를 복수의 수신부에서 행하여,
    하나의 상기 송신부와 하나의 상기 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남을 보정하는 스텝을 포함하는 처리를 실행시키는 것을 특징으로 하는 프로그램.
  10. 전송 대상의 데이터를 격납하는 패킷의 생성과, 생성한 상기 패킷을 복수의 레인에 분배하는 처리를 포함하는 처리를 제1의 레이어의 처리로서 행하고, 분배한 상기 패킷을 포함하는 동일한 데이터 구조를 갖는 데이터 스트림을, 복수의 수신부를 갖는 수신 장치에 대해, 복수의 상기 레인을 사용하여 병렬로 송신하는 처리를 제2의 레이어의 처리로서 행하는 복수의 송신부와,
    하나의 상기 송신부와 하나의 상기 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남을 보정하는 제어부를 구비하는 것을 특징으로 하는 송신 장치.
  11. 제10항에 있어서,
    복수의 상기 송신부의 각각은,
    상기 제2의 레이어의 처리를 병행하여 행하는 신호 처리부를, 상기 레인의 수와 같은 수만큼 가지며,
    상기 제어부는, 각각의 상기 신호 처리부에서의 제어 코드의 상기 데이터 스트림에의 삽입의 타이밍을 맞춤에 의해, 상기 타이밍의 어긋남을 보정하는 것을 특징으로 하는 송신 장치.
  12. 전송 대상의 데이터를 격납하는 패킷의 생성과, 생성한 상기 패킷을 복수의 레인에 분배하는 처리를 포함하는 처리인 제1의 레이어의 처리와, 분배한 상기 패킷을 포함하는 동일한 데이터 구조를 갖는 데이터 스트림을, 복수의 수신부를 갖는 수신 장치에 대해, 복수의 상기 레인을 사용하여 병렬로 송신하는 처리인 제2의 레이어의 처리를 복수의 송신부에서 행하여,
    하나의 상기 송신부와 하나의 상기 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남을 보정하는 스텝을 포함하는 것을 특징으로 하는 제어 방법.
  13. 컴퓨터에,
    전송 대상의 데이터를 격납하는 패킷의 생성과, 생성한 상기 패킷을 복수의 레인에 분배하는 처리를 포함하는 처리인 제1의 레이어의 처리와, 분배한 상기 패킷을 포함하는 동일한 데이터 구조를 갖는 데이터 스트림을, 복수의 수신부를 갖는 수신 장치에 대해, 복수의 상기 레인을 사용하여 병렬로 송신하는 처리인 제2의 레이어의 처리를 복수의 송신부에서 행하여,
    하나의 상기 송신부와 하나의 상기 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남을 보정하는 스텝을 포함하는 처리를 실행시키는 것을 특징으로 하는 프로그램.
  14. 전송 대상의 데이터를 격납하는 패킷의 생성과, 생성한 상기 패킷을 복수의 레인에 분배하는 처리를 포함하는 처리를 제1의 레이어의 처리로서 행하고, 분배한 상기 패킷을 포함하는 동일한 데이터 구조를 갖는 데이터 스트림을, 복수의 상기 레인을 사용하여 병렬로 송신하는 처리를 제2의 레이어의 처리로서 행하는 복수의 송신부를 구비하는
    송신 장치와,
    복수의 상기 송신부의 각각부터 복수의 레인을 사용하여 병렬로 송신된 상기 데이터 스트림을 수신하는 처리를 상기 제2의 레이어의 처리로서 행하고, 수신한 상기 데이터 스트림을 1계통의 데이터로 통합하고, 상기 데이터 스트림을 구성하는 패킷을 취득하는 처리를 상기 제1의 레이어의 처리로서 행하는 복수의 수신부와,
    하나의 상기 송신부와 하나의 상기 수신부의 조의 각각에 의해 실현되는 통신 링크 사이의, 대응하는 데이터의 타이밍의 어긋남을 보정하는 제어부를 구비하는
    수신 장치를
    포함하는 것을 특징으로 하는 송수신 시스템.
KR1020197032583A 2017-06-09 2018-05-25 수신 장치, 송신 장치, 제어 방법, 프로그램, 및 송수신 시스템 KR102538713B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2017-114382 2017-06-09
JP2017114382 2017-06-09
PCT/JP2018/020116 WO2018225534A1 (ja) 2017-06-09 2018-05-25 受信装置、送信装置、制御方法、プログラム、および送受信システム

Publications (2)

Publication Number Publication Date
KR20200016205A true KR20200016205A (ko) 2020-02-14
KR102538713B1 KR102538713B1 (ko) 2023-06-01

Family

ID=64567291

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197032583A KR102538713B1 (ko) 2017-06-09 2018-05-25 수신 장치, 송신 장치, 제어 방법, 프로그램, 및 송수신 시스템

Country Status (6)

Country Link
US (1) US11457142B2 (ko)
EP (1) EP3637716B1 (ko)
JP (1) JP7094952B2 (ko)
KR (1) KR102538713B1 (ko)
CN (1) CN110692222B (ko)
WO (1) WO2018225534A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3419005A1 (en) * 2017-06-22 2018-12-26 Gemalto Sa Computing device processing expanded data
US20220385959A1 (en) * 2019-11-20 2022-12-01 Sony Semiconductor Solutions Corporation Transmission device, reception device, and transmission system
EP3840368B1 (en) * 2019-12-18 2022-01-26 Axis AB Method of injecting additional data
JP2022182021A (ja) * 2021-05-27 2022-12-08 キヤノン株式会社 シリアル通信装置及びシリアル通信方法
US11847077B2 (en) 2021-12-06 2023-12-19 Himax Technologies Limited Serial peripheral interface integrated circuit and operation method thereof
CN114297110B (zh) * 2021-12-28 2024-05-14 上海集成电路装备材料产业创新中心有限公司 Mipi信号解码方法、装置及其芯片
WO2024040604A1 (zh) * 2022-08-26 2024-02-29 华为技术有限公司 一种数据传输方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120120289A1 (en) * 2010-11-12 2012-05-17 Sony Corporation Image outputting apparatus, image outputting method, image processing apparatus, image processing method, program, data structure and imaging apparatus
US20140013179A1 (en) * 2011-03-18 2014-01-09 Fujitsu Limited Transmission delay difference correction method, communication device, and communication system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3487458B2 (ja) 1995-01-27 2004-01-19 株式会社リコー 並列信号伝送装置
JP3930823B2 (ja) * 2003-03-24 2007-06-13 日本電信電話株式会社 フレーム信号符号化通信方法及び符号化装置並びに符号化送信装置及び符号化受信装置
JP2005229307A (ja) * 2004-02-12 2005-08-25 Sanyo Electric Co Ltd 撮像装置、撮像装置の制御方法及び撮像装置の制御プログラム
US20090135685A1 (en) * 2005-09-06 2009-05-28 Pioneer Corporation Aberration correcting apparatus and program for correcting aberration
US8259755B2 (en) * 2005-11-04 2012-09-04 Nxp B.V. Alignment and deskew for multiple lanes of serial interconnect
JP5049652B2 (ja) * 2006-09-07 2012-10-17 キヤノン株式会社 通信システム、データの再生制御方法、コントローラ、コントローラの制御方法、アダプタ、アダプタの制御方法、およびプログラム
WO2009005154A1 (ja) * 2007-07-05 2009-01-08 Nippon Telegraph And Telephone Corporation 信号ブロック列処理方法および信号ブロック列処理装置
JP2012005622A (ja) * 2010-06-24 2012-01-12 Fujifilm Corp 光音響画像化装置及び方法
JP2012039523A (ja) * 2010-08-10 2012-02-23 Sony Corp 動画像処理装置、動画像処理方法およびプログラム
JP2012103772A (ja) * 2010-11-08 2012-05-31 Renesas Electronics Corp プロセッサおよびそれを用いた画像処理システム
JP5975103B2 (ja) * 2012-07-20 2016-08-23 富士通株式会社 伝送装置
TWI686085B (zh) * 2012-11-29 2020-02-21 日商索尼半導體解決方案公司 攝像裝置及圖像感測器之資料傳送方法、資訊處理裝置及資訊處理方法以及程式
KR102023940B1 (ko) * 2012-12-27 2019-11-04 엘지디스플레이 주식회사 표시장치용 구동회로 및 이의 구동방법
JP6253272B2 (ja) * 2013-06-18 2017-12-27 キヤノン株式会社 撮像装置、撮像システム、信号処理方法、プログラム、および、記憶媒体
KR102166908B1 (ko) * 2014-02-13 2020-10-19 삼성전자주식회사 고속 데이터 인터페이스 장치 및 상기 장치의 스큐 보정 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120120289A1 (en) * 2010-11-12 2012-05-17 Sony Corporation Image outputting apparatus, image outputting method, image processing apparatus, image processing method, program, data structure and imaging apparatus
JP2012120159A (ja) 2010-11-12 2012-06-21 Sony Corp 送信装置、送信方法、受信装置、受信方法、およびプログラム
US20140013179A1 (en) * 2011-03-18 2014-01-09 Fujitsu Limited Transmission delay difference correction method, communication device, and communication system

Also Published As

Publication number Publication date
EP3637716B1 (en) 2023-08-30
EP3637716A1 (en) 2020-04-15
JPWO2018225534A1 (ja) 2020-04-09
WO2018225534A1 (ja) 2018-12-13
CN110692222A (zh) 2020-01-14
US20210360151A1 (en) 2021-11-18
JP7094952B2 (ja) 2022-07-04
KR102538713B1 (ko) 2023-06-01
CN110692222B (zh) 2022-11-22
EP3637716A4 (en) 2020-05-06
US11457142B2 (en) 2022-09-27

Similar Documents

Publication Publication Date Title
KR102538713B1 (ko) 수신 장치, 송신 장치, 제어 방법, 프로그램, 및 송수신 시스템
JP7326522B2 (ja) 送信装置、受信装置、制御方法、プログラム、および送受信システム
EP4024796A1 (en) Encoding device, encoding method, decoding device, decoding method, and program
US20210274998A1 (en) Distributed image processing system in operating theater
CN110945399A (zh) 信号处理设备、成像设备、信号处理方法和程序
US10924724B2 (en) Medical stereoscopic observation device, medical stereoscopic observation method, program, and medical stereoscopic observation system
EP4175183A1 (en) Encoding device, encoding method, decoding device, decoding method, and program
US11558673B2 (en) Transmission device, reception device, transmission system, and transmission method
EP4024797A1 (en) Encoding device, encoding method, decoding device, decoding method, and program
US11996937B2 (en) Encoding device, encoding method, decoding device, decoding method, and program
WO2021230001A1 (ja) 情報処理装置及び情報処理方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal