KR101648518B1 - 단단히 커플링된 저전력 이미지 프로세싱을 위한 방법 및 장치 - Google Patents

단단히 커플링된 저전력 이미지 프로세싱을 위한 방법 및 장치 Download PDF

Info

Publication number
KR101648518B1
KR101648518B1 KR1020147015884A KR20147015884A KR101648518B1 KR 101648518 B1 KR101648518 B1 KR 101648518B1 KR 1020147015884 A KR1020147015884 A KR 1020147015884A KR 20147015884 A KR20147015884 A KR 20147015884A KR 101648518 B1 KR101648518 B1 KR 101648518B1
Authority
KR
South Korea
Prior art keywords
image
camera core
block
bus
processing engine
Prior art date
Application number
KR1020147015884A
Other languages
English (en)
Other versions
KR20140090260A (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 KR20140090260A publication Critical patent/KR20140090260A/ko
Application granted granted Critical
Publication of KR101648518B1 publication Critical patent/KR101648518B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • H04N1/2112Intermediate information storage for one or a few pictures using still video cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/40Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
    • H04N25/44Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by partially reading an SSIS array
    • H04N25/443Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by partially reading an SSIS array by reading pixels from selected 2D regions of the array, e.g. for windowing or digital zooming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • H04N5/772Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera the recording apparatus and the television camera being placed in the same enclosure

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Studio Devices (AREA)
  • Image Input (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

이미지는, N개의 픽셀 블록들로 분할되고, 블록 와이즈로 카메라 코어에 저장되며, 카메라 코어로부터 로컬 메모리에 로컬인 다운스트림 프로세싱 엔진에 블록 와이즈로 전달된다. 직접적인 핸드쉐이킹은, 카메라 코어와 다운스트림 프로세싱 엔진 사이에 블록 와이즈 전달들로 통신된다. 선택적으로, 광학 센서 스캐너는 프레임 레이트의 N배인 스캔 레이트로 이미지를 분할하며, 각각의 스캔은 프레임의 블록을 제공한다. 선택적으로, 블록 와이즈 전달은, 직접적인 핸드쉐이킹에 의해 제어되는, 카메라 코어에 로컬인 로컬 메모리를 통한 전달을 포함한다.

Description

단단히 커플링된 저전력 이미지 프로세싱을 위한 방법 및 장치{METHOD AND APPARATUS FOR TIGHTLY COUPLED, LOW POWER IMAGE PROCESSING}
본 발명의 기술 분야는 비디오 데이터 통신 및 프로세싱에 관한 것이다.
특정한 비디오 시스템들은, 비디오 코더/디코더(VCODEC) 및 로컬 메모리를 갖는 비디오 회로 내의 카메라 코어로 비디오 프레임들을 전달하는 광학 센서를 갖는다. 비디오 프레임들은, 카메라 코어로부터 전달되어, 최종적으로는 코딩 및 후속 프로세싱을 위해 VCODEC에 도달해야 한다. 그러나, 카메라 코어 및 로컬 메모리가 비디오 프레임 버퍼로서 기능하기 위한 충분한 저장 용량이 부족하기 때문에, 카메라 코어는 비디오 프레임들을 VCODEC에 직접 핸드 오프(hand off)할 수 없다. 일반적으로, 카메라 코어는 또한, 비디오 프레임들을 VCODEC에 전달하기 위한 요구된 핸드쉐이킹(handshaking) 기능들이 부족하다. 따라서, 비디오 회로는, 카메라 코어로부터 외부 메모리로 전체 비디오 프레임들을 오프로드하며, 그 후, 외부 메모리로부터 이들 오프로드된 비디오 프레임들을 리트리브(retrieve)하고 프레임들을 VCODEC에 입력한다. 비디오 프레임들의 오프로딩 및 리트리벌(retrieval)은 일반적으로, 애플리케이션 프로세서에 의해 제어된다. 그러나, 외부 메모리 및 애플리케이션 프로세서 각각은 상당한 전력을 소비한다.
이러한 전력을 감소 또는 오프셋하기 위한 종래의 수단 및 노력들은, 외부 메모리를 배치시키고, 카메라 코어와 외부 메모리 사이에 회로를 더 근접하게 인터페이싱시킬 뿐만 아니라, 버스 효율을 증가시키기 위해 비디오 프레임 전달들을 위한 더 큰 버스트 길이를 사용하는 것을 포함한다. 종래의 수단 및 노력들은 또한, 버스 및 코어 클록의 스캐일링을 포함한다. 종래의 수단 및 노력들은, 전력 소비를 감소시키더라도, 외부 메모리 또는 애플리케이션 프로세서에 의한 전력 소비를 제거하지 못한다.
이러한 요약은 모든 고려된 양상들의 개관이 아니거나, 임의의 실시예 또는 그의 임의의 양상의 범위를 서술하기 위한 것이다. 그의 유일한 목적은 몇몇 예시적인 개념들을 제시하는 것이며, 그들 모두는, 다른 것들 중에서도, 본 발명의 추후의 섹션들에서 기재된 다양한 예시적인 실시예들의 더 상세한 설명으로부터 추가적으로 이해될 것이다.
일 예시적인 실시예에 따르면, 이미지 프로세싱의 방법은, 카메라 코어에서 이미지를 수신하는 단계, 및 그 후, 카메라 코어로부터 다운스트림 프로세싱 엔진으로 이미지를 블록 단위로 전달하는 단계를 포함할 수도 있으며, 일 양상에서, 블록 단위의 전달은, 카메라 코어와 다운스트림 프로세싱 엔진 사이에 직접적인 핸드쉐이크 신호들을 통신하는 것을 포함할 수도 있다.
일 양상에서, 카메라 코어와 다운스트림 프로세싱 엔진 사이에 직접적인 핸드쉐이크 신호들을 통신하는 것은, 카메라 코어 및 다운스트림 프로세싱 엔진에 커플링된 직접적인 핸드쉐이킹 경로를 통한 것일 수도 있다.
일 양상에서, 카메라 코어에서 이미지를 수신하는 것은, 광학 센서에서의 이미지를 복수의 N개의 블록들로 분할하는 것, 및 동시에, 카메라 코어 및 로컬 메모리 중 적어도 하나에 다량의 N개의 블록들을 저장하는 것을 포함할 수도 있다.
일 양상에서, 카메라 코어에서 이미지를 수신하는 것은, 광학 센서에서 이미지의 N개의 스캔들을 수행하는 것, N개의 스캔들의 각각에 대해, 카메라 코어 및 카메라 코어와 연관된 로컬 메모리 중 적어도 하나에 적어도 이미지의 블록을 전달하는 것, 및 동시에, 카메라 코어 및 로컬 메모리 중 적어도 하나에 다량의 N개의 블록들을 저장하는 것을 포함할 수도 있다.
일 예시적인 실시예에 따르면, 이미지 프로세싱의 방법은, 이미지의 하나의 스캔을 획득하기 위해 광학 센서를 스캐닝하는 단계, 이미지의 하나의 스캔의 주어진 N-블록 분할의 블록을 추출하는 단계, 카메라 코어 또는 카메라 코어와 연관된 로컬 메모리 중 적어도 하나에 추출된 블록을 저장하는 단계, 카메라 코어 또는 로컬 메모리 중 적어도 하나로부터 다운스트림 프로세싱 엔진으로 하나의 추출된 블록을 전달하는 단계, 및 이미지를 프로세싱 엔진에 제공하기 위해 스캐닝 단계, 추출 단계, 저장 단계, 및 전달 단계를 N회 반복하는 단계를 포함할 수도 있다.
일 양상에서, 카메라 코어 또는 로컬 메모리 중 적어도 하나로부터 다운스트림 프로세싱 엔진으로 하나의 추출된 블록을 전달하는 것은, 카메라 코어와 다운스트림 프로세싱 엔진 사이에 핸드쉐이킹 신호들을 통신하는 것을 포함한다.
일 예시적인 실시예에 따르면, 이미지 프로세서는, 이미지의 하나의 스캔을 획득하기 위해 광학 센서를 스캐닝하기 위한 수단, 이미지의 하나의 스캔의 주어진 N-블록 분할의 블록을 추출하기 위한 수단, 카메라 코어 또는 카메라 코어와 연관된 로컬 메모리 중 적어도 하나에 추출된 블록을 저장하기 위한 수단, 카메라 코어 또는 로컬 메모리 중 적어도 하나로부터 다운스트림 프로세싱 엔진으로 하나의 추출된 블록을 전달하기 위한 수단 - 카메라 코어 또는 로컬 메모리 중 적어도 하나로부터 다운스트림 프로세싱 엔진으로 하나의 추출된 블록을 전달하는 것은, 카메라 코어와 다운스트림 프로세싱 엔진 사이에 핸드쉐이킹 신호들을 통신하는 것을 포함함 - 을 포함할 수도 있다.
일 예시적인 실시예에 따르면, 이미지 프로세서는, 카메라 코어, 카메라 코어에 데이터 상호접속을 통해 커플링된 다운스트림 프로세서; 및 카메라 코어 및 다운스트림 프로세서에 커플링된 직접적인 핸드쉐이킹 경로를 포함할 수도 있으며, 일 양상에서, 카메라 코어는, 주어진 비디오 프레임을 수신하고, N개의 픽셀 블록들로서 비디오 프레임을 다운스트림 프로세서에 전달하며, 직접적인 핸드쉐이킹 경로를 통해 각각의 픽셀 블록의 전달을 제어하도록 구성될 수도 있다.
일 예시적인 실시예에 따르면, 컴퓨터 프로그램 물건은, 적어도 하나의 컴퓨터로 하여금 이미지의 하나의 스캔을 획득하기 위해 광학 센서를 스캐닝하게 하기 위한 코드, 적어도 하나의 컴퓨터로 하여금 이미지의 하나의 스캔의 주어진 N-블록 분할의 블록을 추출하게 하기 위한 코드, 적어도 하나의 컴퓨터로 하여금 카메라 코어 또는 카메라 코어와 연관된 로컬 메모리 중 적어도 하나에 추출된 블록을 저장하게 하기 위한 코드, 적어도 하나의 컴퓨터로 하여금 카메라 코어 또는 로컬 메모리 중 적어도 하나로부터 다운스트림 프로세싱 엔진으로 하나의 추출된 블록을 전달하게 하기 위한 코드, 및 이미지를 프로세싱 엔진에 제공하기 위해 적어도 하나의 컴퓨터로 하여금 스캐닝, 추출, 저장, 및 전달을 N회 반복하게 하기 위한 코드를 포함하는 컴퓨터-판독가능 매체를 포함할 수 있다.
일 예시적인 실시예에 따르면, 이미지 프로세서는, 이미지를 수신하기 위한 수단 및 수신된 이미지의 적어도 일부를 저장하기 위한 수단을 갖는 카메라 코어, 및 카메라 코어로부터 다운스트림 프로세싱 엔진으로 이미지를 블록 단위로 전달하기 위한 수단 - 전달하는 것은, 카메라 코어와 다운스트림 프로세싱 엔진 사이의 핸드쉐이킹 신호들의 통신을 포함함 - 을 포함할 수도 있다.
첨부물들에서 발견되는 첨부한 도면들은, 본 발명의 실시예들의 설명을 보조하기 위해 제시되며, 실시예들의 제한이 아니라 실시예들의 예시를 위해서만 제공된다.
도 1은 하나의 예시적인 관련 기술 비디오 흐름 및 비디오 시스템을 도시한다.
도 2는 일 예시적인 실시예에 따른, 하나의 비디오 다이렉트(direct) 카메라 투 다운스트림 프로세서 전달 시스템 및 하나의 예시적인 다이렉트 비디오 카메라 투 다운스트림 프로세서 블록 전달의 기능 블록도이다.
도 3은 다양한 예시적인 실시예들에 따른, 비디오 프레임을 N개의 픽셀 블록들로 분할하는 일 예 및 픽셀 블록들의 대응하는 다이렉트 카메라 투 다운스트림 프로세서 전달의 흐름도이다.
도 4는 일 예시적인 실시예에 따른, 일 예시적인 개인용 컴퓨팅 디바이스의 기능 블록도를 도시한다.
본 발명의 양상들은, 본 발명에 따른 특정한 예시적인 실시예들의 다음의 설명 및 관련 도면들에서 기재된다. 이들 특정한 예시적인 실시예들이 단지, 당업자들이 다양한 개념들을 추가적으로 이해하는 것을 돕고, 본 발명으로부터 그러한 당업자에게 명백해질 수도 있는 다양한 또는 대안적인 실시예들 중 임의의 실시예에서 본 발명을 실시하기 위한 목적들일 뿐임을 이해할 것이다.
본 명세서에서 사용된 용어는, 단지 특정한 실시예들을 설명하려는 목적을 위한 것이며, 본 발명의 실시예들 또는 본 발명의 임의의 양상의 범위의 제한인 것으로 의도되지 않는다. 용어에 관해 추가적으로, 단어 "예시적인"은 "예, 예시, 또는 예증으로서 기능하는 것"을 의미하도록 본 명세서에서 사용된다. "예시적인" 것으로서 본 명세서에서 설명된 임의의 실시예는 다른 실시예들에 비해 바람직하거나 유리한 것으로서 해석될 필요는 없다. 유사하게, 용어 "본 발명의 실시예들"은, 본 발명의 모든 실시예들이, 설명된 특성, 이점 또는 동작 모드를 포함하는 것을 요구하지는 않는다.
부가적으로, 단수 형태는, 문맥상 달리 명확하게 표시하지 않으면, 복수 형태들을 또한 포함하도록 의도된다. 본 명세서에서 사용되는 경우, 용어들 "구비하는", "구비", "포함하는", 및/또는 "포함"이 나타낸 특성들, 정수들, 단계들, 동작들, 엘리먼트들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 또는 그 초과의 다른 특성들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들, 및/또는 그들의 그룹들의 존재 또는 부가를 배제하지는 않음을 추가적으로 이해할 것이다.
추가적으로, 특정한 실시예들은, 예를 들어, 컴퓨팅 디바이스의 엘리먼트들에 의해 수행될 수도 있는 동작들의 시퀀스들의 관점들에서 설명된다. 본 명세서에 설명된 다양한 동작들이, 특정한 회로들(예를 들어, 주문형 집적 회로(ASIC)들)에 의해, 하나 또는 그 초과의 프로세서들에 의해 실행되는 프로그램 명령들에 의해, 또는 그 둘의 결합에 의해 수행될 수 있음을 인식할 것이다. 부가적으로, 본 명세서에 설명된 동작들의 이들 시퀀스는, 실행 시에, 컴퓨터 또는 연관된 프로세서로 하여금 본 명세서에 설명된 기능을 수행하게 할 컴퓨터 명령들의 대응하는 세트가 저장된 임의의 형태의 컴퓨터 판독가능 저장 매체 내에서 전체적으로 구현되는 것으로 고려될 수 있다. 따라서, 본 발명의 다양한 양상들은 다수의 상이한 형태들로 구현될 수도 있으며, 이들 모두는 첨부된 청구항들의 범위 내에 있는 것으로 고려된다. 부가적으로, 본 명세서에 설명된 실시예들의 각각에 대해, 임의의 그러한 실시예들의 대응하는 형태는, 예를 들어, 설명된 동작을 수행"하도록 구성된 로직"으로서 본 명세서에서 설명될 수도 있다.
당업자들은, 정보 및 신호들이 다양한 상이한 기술들 및 기법들 중 임의의 기술 및 기법을 사용하여 표현될 수도 있음을 인식할 것이다. 예를 들어, 상기 설명 전반에 걸쳐 참조될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광학 필드들, 전자 스핀 입자들, 전기방사(electrospin)들, 또는 이들의 임의의 결합에 의해 표현될 수도 있다.
추가적으로, 당업자들은, 여기에 기재된 실시예들과 관련하여 설명된 다양한 예시적인 로지컬 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 결합들로서 구현될 수도 있음을 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능의 관점들에서 일반적으로 설명된다. 당업자가 인식할 바와 같이, 그러한 기능이 하드웨어로서 구현될지 또는 소프트웨어로서 구현될지는, 특정한 애플리케이션 및 전체 시스템에 부과된 설계 제약들에 의존한다. 당업자들은 설명된 기능을 각각의 특정한 애플리케이션에 대해 다양한 방식들로 구현할 수도 있지만, 그러한 구현 결정들이 본 발명의 범위를 벗어나게 하는 것으로서 해석되지는 않아야 한다.
여기에 기재된 실시예들과 관련하여 설명된 방법들, 시퀀스들 및/또는 알고리즘들은 하드웨어로 직접, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이 둘의 결합으로 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있도록 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 통합될 수도 있다.
따라서, 본 발명의 다양한 실시예들은, 컴퓨터로 하여금 실시예에 따른 프로세스를 수행하게 하거나 그 프로세스를 수행하기 위해 다른 구조들을 제어하게 하는 명령들을 구현한 컴퓨터 판독가능 매체들을 포함할 수도 있거나, 그 컴퓨터 판독가능 매체를 사용하여 실시될 수도 있다. 따라서, 본 발명은, 도시된 예들로 제한되지 않으며, 본 명세서에 설명된 기능을 수행하기 위한 임의의 수단은 본 발명의 실시예들에 포함된다.
관련 기술의 도 1은, 광학 센서(103)를 인터페이싱하며, 멀티미디어 패브릭(fabric)(112)에 의해 상호접속된 카메라 코어(104), 로컬 메모리(106), 비디오 코더/디코더(VCODEC)(108) 및 3D 프로세서(110)를 갖는 종래의 비디오 회로(102)를 갖는 종래의 비디오 시스템(100)을 도시한다. 종래의 비디오 회로(102)는 또한, 멀티미디어 패브릭(112)에 접속하고 애플리케이션 프로세서(116)와 외부 메모리 제어기(118)를 상호접속시키는 애플리케이션(또는 "apps") 패브릭(114)을 갖는다. 더 상세히 후술되는 바와 같이, 외부 메모리 제어기(118)는, 외부 메모리(120)(예를 들어, 외부 DDR)와 인터페이싱하며, 외부 메모리(120)로의 데이터의 오프로딩 및 외부 메모리(120)로부터의 데이터의 리트리벌을 제어한다.
계속 도 1을 참조하면, 종래의 비디오 시스템(100)에서, 외부 광학 센서(103)는 광학 픽셀 센서들의 M행(row)×N열(column) 픽셀 어레이(분리하여 도시되지 않음)일 수 있다. 종래의 비디오 시스템(100)의 동작에서, 광학 센서(103)는 일련의 래스터(raster) 스캔들을 수행하며, 각각의 래스터 스캔은 (대안적으로, "로우(raw) 비디오 프레임"으로서 이하 지칭되는) M×N 픽셀 프레임을 생성한다. 래스터 스캔 레이트는 분 당 FS 래스터 스캔들일 수도 있으며, 그 스캔들은 분 당 FS 프레임들의 프레임 레이트로 로우 비디오 프레임들을 생성한다. 종래의 비디오 회로(102)는, 프레임 레이트 FS로 광학 센서(103)로부터 수신된 로우 비디오 프레임들을 카메라 코어(104)에 입력한다. 그 후, 카메라 코어(104)는, 각각의 프레임에 대해 크롭(crop) 및 블록 및 선명도(brightness)와 같은 간단한 포맷팅 기능들을 수행하여, "포맷팅된 로우 프레임들"로서 이러한 설명에 대해 지칭될 것을 생성한다. 더 본질적으로, 더 높은 계산 부담 동작들, 예를 들어, 비디오 압축 또는 3D 프로세싱은, 디코더 VCODEC(108) 및/또는 3D 프로세서(110)와 같은 다운스트림 프로세서들에 의해 수행된다.
계속 도 1을 참조하면, 그의 제한된 메모리 공간으로 인해, 카메라 코어(104)는 실질적으로 1개 초과의 프레임을 홀딩(hold)할 수 없다. 또한, 오랫동안 알려진 바와 같이, 카메라 코어(104), 멀티미디어 패브릭(112), 및 다운스트림 프로세서들(예를 들어, VCODEC(108) 또는 3D 프로세서(110))의 아키텍처는, 카메라 코어(104)가, 많은 애플리케이션들에서 사용되는 프레임 레이트들 FS로 유지하기에 충분한 레이트로 이들 다운스트림 프로세서들에 포맷팅된 로우 프레임들을 직접 전달하는 것을 실시불가능하게 한다.
도 1에 도시된 바와 같은 종래의 비디오 시스템들의 상술된 제한에 대한 알려진 솔루션은, 데이터 흐름 오프로드(OFFLOAD)에 의해 도시된 바와 같이, 예시적인 애플리케이션 프로세서(116) 및 메모리 제어기(118)와 같은 프로세서 리소스가 예시적인 외부 메모리(120)와 같은 외부 메모리로의 포맷팅된 로우 프레임들의 오프로딩을 수행하며, 데이터 흐름 RTRV에 의해 도시된 바와 같이, 그 외부 메모리로부터의 포맷팅된 로우 프레임들의 제어된 리트리벌, 및 선택된 다운스트림 프로세서, 예를 들어, 종래의 비디오 회로(102) 내부의 VCODEC(108)로의 이들 프레임들의 순서화된 입력이 후속한다. 도 1에 도시된 바와 같이, 오프로드는, 데이터 카메라 코어(104)로부터 멀티미디어 패브릭(112)을 통해, apps 패브릭(114) 및 메모리 제어기(118)를 통하여 외부 메모리(120)로의 것일 수 있다. RTRV는 실질적으로 그 반대일 수 있으며, 즉 외부 메모리(120)로부터, 외부 메모리 제어기(118)를 통해, apps 패브릭(114) 및 멀티미디어 패브릭(112)을 통하여 VCODEC(108)로의 것일 수 있다. 상술된 바와 같이, 애플리케이션 프로세서(116)는, 포맷팅된 로우 프레임 데이터를 순서화된 입력으로서 VCODEC(108)(또는, 다른 선택된 다운스트림 프로세서, 예를 들어, 3D 프로세서(110))에 제공하기 위해, 리트리벌 및 데이터 흐름 RTRV를 제어하며, 순서는 그 VCODEC(108) 또는 다른 다운스트림 프로세서, 및 그것이 수행하는 특정한 동작에 특정적이다. 애플리케이션 프로세서(116)에 의해 수행된 제어는, VCODEC(108) 또는 다른 다운스트림 프로세서에 의해 요구되는 핸드쉐이킹 신호들을 통신하는 것을 포함할 수 있다.
그러나, 카메라 코어(104)의 제한된 용량 및 카메라 코어(104)와 다운스트림 프로세서들(예를 들어, VCODEC(108)) 사이의 제한된 전달 능력에 대한 이러한 상술된 알려진 오프로딩 및 리트리벌 솔루션은 상당한 전력을 소비한다. 이러한 상당한 전력 소비의 원인들은, 예를 들어, 애플리케이션 프로세서(116) 뿐만 아니라 외부 메모리 제어기(118) 및 추가적으로는 외부 메모리(120)를 포함한다. 부가적으로, 전력은 외부 메모리(120)에 의해 소비된다.
본 발명으로부터 이해될 바와 같이, 예시적인 실시예들은 다양한 특성들 및 이점들 중에서도, 이들 상술된 오프로딩 및 리트리빙 동작들의 제거, 및 그에 따라, 이들 동작들을 수행할 시에, 예를 들어, 애플리케이션 프로세서(116)에 의한 상술된 전력 소비의 제거를 제공한다. 추가적으로, 당업자들에 의해 본 발명으로부터 인식될 바와 같이, 예시적인 실시예들은, 비디오 회로(102) 내부의 메모리에서 임의의 실질적인 증가를 요구하지 않으면서 이들 및 다른 특성들 및 이점들을 제공한다.
이러한 설명에서 사용된 용어에 관해, 용어들 "다운스트림 프로세서" 및 "다운스트림 프로세싱 엔진"은 상호교환가능하게 사용되며, 그것은, 의도된 의미의 변경 없이 어느 하나가 다른 하나에 대해 대체될 수도 있다는 것을 의미한다.
추가적으로, 이러한 설명에서 사용된 용어에 관해, 그것이 상이한 의미를 갖는 것으로 명시적으로 나타나거나 상이한 의미를 갖는 것으로 맥락으로부터 명확해지는 인스턴스들에서는 제외하고, 용어 "VCODEC"가 "VCODEC 또는 다른 다운스트림 프로세서, 예를 들어, 3D 프로세서를 의미함(그러나, 이에 제한되지 않음)을 이하 이해할 것이다. 그것이 상이한 의미를 갖는 것으로 명시적으로 나타나거나 상이한 의미를 갖는 것으로 맥락으로부터 명확해지는 인스턴스들에서는 제외하고, "VCODEC", "3D" 또는 다른 특정한 이미지 프로세싱 기능을 인용하는 맥락 없이 단독으로 나타나는 경우, 용어들 "다운스트림 프로세서" 및 "다운스트림 프로세싱 엔진"이 VCODEC, 3D 프로세서, 또는 이미지 프로세싱을 수행하기 위해 전용되거나 구성가능한 임의의 다른 이미지 프로세서와 같은(그러나, 이에 제한되지 않음) "다운스트림 프로세서"를 의미함을 이하 유사하게 이해할 것이다.
부가적으로, 그것이 상이한 의미를 갖는 것으로 명시적으로 나타나거나 상이한 의미를 갖는 것으로 맥락으로부터 명확해지는 인스턴스들에서는 제외하고, 용어들 "비디오" 및 "이미지"가 상호교환가능할 것이며, 이것은, 어느 하나가 의도된 의미의 변경 없이 다른 하나에 대해 대체될 수도 있다는 것을 의미함을 이하 이해할 것이다.
그것이 상이한 의미를 갖는 것으로 명시적으로 나타나거나 상이한 의미를 갖는 것으로 맥락으로부터 명확해지는 인스턴스들에서는 제외하고, 용어들 "프레임", "픽셀 프레임", 및 "비디오 프레임"이 상호교환가능할 것이며, 이것은, 어느 하나가 의도된 의미의 변경 없이 다른 하나에 대해 대체될 수도 있다는 것을 의미함을 이하 또한 이해할 것이다.
일 예시적인 실시예에 따른 비디오 회로 또는 방법에서, 카메라 코어, 로컬 메모리, 및 VCODEC와 같은 다운스트림 프로세서가 제공되고, 멀티미디어 경로, 예를 들어, 멀티미디어 버스, 패브릭 또는 다른 데이터 상호접속에 의해 상호접속되며, 카메라 코어와 VCODEC 사이의 직접적인 핸드쉐이크 경로를 제공받을 수도 있다. 일 양상에서, 카메라 코어는, 카메라 코어로부터 VCODEC로의 블록 단위의 이미지의 전달(대안적으로, 본 명세서에서 이미지들의 "블록 와이즈(block wise)" 전달로서 지칭됨)을 달성 및 제어하기 위해 다이렉트 핸드쉐이크 경로를 통하여 핸드쉐이킹 신호를 통신(예를 들어, 생성, 송신 및 수신)하도록 구성될 수도 있다. 이러한 양상에 추가적으로, 카메라 코어는, VCODEC가 이미지 데이터를 수신 및 프로세싱하기 위해 필요한 핸드쉐이킹 신호들을 다이렉트 핸드쉐이크 경로를 통해 VCODEC로 통신하면서, 멀티미디어 경로를 통한 VCODEC로의 이미지들의 블록 와이즈 전달을 수행하도록 구성될 수도 있다.
일 양상에서, 광학 검출기 픽셀들의 X행×Y열 어레이를 갖는 광학 센서는, 예시적인 실시예들에 따라 비디오 회로와 인터페이싱한다. 일 양상에서, 광학 센서는, 공칭 프레임 레이트 FS보다 다수배, 예를 들어, 정수 N배 높은 레이트로 광학 센서의 광학 검출기 픽셀들의 X행×Y열 어레이의 래스터 스캔을 수행하도록 구성될 수도 있다. 하나의 추가적인 양상에서, 이들 래스터 스캔들의 각각은, 모든 X×Y 픽셀들을 갖는 전체 프레임 대신, 픽셀들의 블록만을 전송할 수도 있다. 이러한 양상에 따른 일 예에서, 래스터 스캔들의 각각이 프레임의 픽셀들의 1/N의 크롭 및 블록 결과를 갖는 이미지 블록을 비디오 회로에 출력할 수도 있도록, 크롭 및 블록 특성이 광학 센서에서 제공되거나 광학 센서와 연관될 수도 있다. 도 3을 참조하여 더 상세히 설명될 바와 같이, 각각의 이미지 블록은 X×Y 픽셀들의 프레임 내의 "타일(tile)"에 대응할 수도 있다. 다른 예에서, 크롭 및 블록은 광학 센서로부터 생략될 수도 있으며, 대신, 카메라 코어의 내부에서 수행되는 낮은 복잡도 프로세싱에 포함될 수도 있다.
상기 도입된 양상들의 일 예시로서, 하나 또는 그 초과의 예시적인 실시예들에 따른 일 실시에서, N은 16과 같은 정수로 셋팅될 수도 있고, 광학 센서는 공칭 프레임 레이트 FS의 16배인 레이트로 광학 센서의 X×Y 광학 검출기 픽셀들의 래스터 스캔을 수행하도록 구성될 수도 있다. 16의 예시적인 N을 가정하면, 크롭 및 블록은, 이들 래스터 스캔들의 각각이 이미지의 N개의 블록들 중 상이한 블록을 출력하도록(대안적으로, 각각의 블록은 "이미지 블록" 또는 "타일"로서 지칭됨), 광학 센서에 포함될 수도 있으며, 각각의 이미지 블록 또는 타일은 X·Y/16개의 픽셀들이다. 따라서, N=16이고 (예시적인 실시예들을 실시할 시에 이용될 수도 있거나 생략될 수도 있는) 이미지 블록들 사이에 중첩이 없다고 가정하면, 광학 센서의 광학 검출기 픽셀들의 X×Y 어레이의 광학 센서에 의한 16개의 래스터 스캔들은 이미지 데이터의 일련의 16개의 이미지 블록들로서 X×Y 픽셀들의 하나의 프레임을 카메라 코어에 전송할 것이다. 더 상세히 추후의 섹션들에서 설명되는 바와 같이, 16의 N이 단지 일 예일 뿐이며, 본 발명으로부터 당업자들에 의해 인식될 바와 같이, N의 실제값들이 애플리케이션 특정적일 수도 있지만, 예를 들어, 특정한 카메라 코어의 특징(예를 들어, 데이터 버퍼 용량) 및 카메라 코어와 VCODEC를 상호접속시키는 비디오 회로 내부의 특정한 데이터 경로(예를 들어, 멀티미디어 패브릭)의 특징에 기초하여, 당업자들에 의해 용이하게 결정될 수 있음을 이해할 것이다.
상기 도입되고 추후의 섹션들에서 더 상세히 설명되는 예시적인 실시예들에 따르면, 비디오 회로는, 예를 들어, 멀티미디어 패브릭 또는 그와 등가의 수단에 의해 상호접속된 카메라 코어 및 VCODEC를 제공받을 수도 있으며, 일 양상에서, 비디오 회로는 카메라 코어와 VCODEC 사이에 다이렉트 핸드쉐이크 경로를 더 포함할 수도 있다. 이러한 양상에 추가적으로, 카메라 코어는, 이미지들을 VCODEC에 전달하기 위해 요구되는 핸드쉐이킹 신호들을 직접적인 핸드쉐이크 경로를 통해 통신하며, VCODEC가 이미지 데이터를 수신 및 프로세싱하기 위해 요구되는 핸드쉐이킹 신호들을 직접적인 핸드쉐이크 경로를 통해 통신하는 동안, 예를 들어, 멀티미디어 경로를 통해 VCODEC에 이미지 데이터를 전달하도록 구성될 수도 있다.
일 양상에서, 예시적인 실시예들에 따른 비디오 회로의 카메라 코어는, 비디오 회로 내부의 작은 로컬 메모리를 사용하여 X×Y 픽셀 프레임의 이미지 블록들을 다운스트림 프로세서에 전달할 수도 있으며, 로컬 메모리로부터 VCODEC로의 이미지 블록들의 전달을 제어하기 위해 카메라 코어와 VCODEC 사이의 핸드쉐이킹 경로를 이용할 수도 있다.
일 양상에서, X×Y 픽셀 프레임의 블록 와이즈 전달은, N개의 픽셀 블록들로의 X×Y 픽셀 프레임의 광학 센서에서의 초기 세그먼트화 또는 분할을 포함할 수도 있으며, 이는, 광학 센서가 래스터 스캔을 N×FS회 수행하고 - 여기서, FS는 초당 프레임들의 프레임 레이트임 -, 각각의 래스터 스캔에서, 각각의 X×Y 비디오 프레임이 세그먼트화 또는 분할되는 N개의 이미지 블록들 또는 타일들(각각은 X·Y/N개의 픽셀들을 가짐) 중 상이한 것을 전송하는 것을 포함할 수도 있다. 본 발명을 판독하는 것으로부터 이해될 바와 같이, 이러한 N×FS(또는 "N·FS") 레이트 래스터 스캐닝 특성은, 비디오 프레임을 외부 메모리로 오프로딩하고 외부 메모리로부터 리트리벌하는 도 1의 관련 기술 없이 그리고 그에 따라 그러한 동작들에 대한 전력 소비 없이, 사용가능한 프레임 레이트들 FS에서 광학 센서로부터 카메라 코어로의 비디오 프레임들의 흐름을 제공하기 위해, 카메라 코어로부터 다운스트림 이미지 프로세서로의 이미지 블록들의 블록 와이즈 전달의 실시예들과 결합될 수도 있다.
일 양상에서, 카메라 코어는 레이턴시 버퍼 또는 그와 등가의 데이터 저장부를 포함할 수도 있으며, 그 레이턴시 버퍼 또는 다른 데이터 저장부의 충진 상태를 검출 또는 모니터링하기 위한 수단을 포함할 수도 있다. 추가적인 일 양상에서, 카메라 코어는, 데이터 이용가능도를 표시하고 (즉, 레이턴시 버퍼는 블록 와이즈 전달을 시작하기 위해 광학 센서로부터의 충분한 이미지 데이터를 가짐) 카메라 코어의 레이턴시 버퍼에서 오버플로우를 방지하기 위해, 레이턴시 버퍼의 검출된 충진 상태에 기초하여, 자신의 직접적인 핸드쉐이크 신호들을 생성하고, 이를 다운스트림 이미지 프로세서와 통신하도록 구성될 수도 있다. 관련된 양상에서, 카메라 코어 내의 레이턴시 버퍼에 부가적으로 또는 대안적으로, 예시적인 실시예들에 따른 비디오 회로는, 레이턴시 버퍼 또는 그와 등가의 데이터 저장부를 제공받는 카메라 코어 및 다운스트림 비디오 프로세서에 내부 멀티미디어 패브릭 또는 그의 등가물에 의하여 커플링되는 상술된 로컬 메모리와 같은 내부 로컬 메모리를 가질 수도 있다. 이러한 관련된 양상에 추가적으로, 카메라 코어는, 로컬 메모리의 레이턴시 버퍼의 충진 상태를 검출 또는 모니터링하며, 그 검출된 또는 모니터링된 충진 상태에 적어도 부분적으로 기초하여 직접적인 핸드쉐이크 신호를 생성 및 통신하도록 구성될 수도 있다.
도 2는, 비디오 회로(202)가 광학 센서(250)를 인터페이싱하는 예시적인 환경에서, 일 예시적인 실시예에 따른 비디오 회로(202)를 갖는 시스템의 일 예시적인 기능 블록도(200)를 도시한다. 광학 센서(250)는, 광학 검출기 픽셀들(개별적으로 도시되지 않으며, 이하, "검출기 픽셀들"로서 지칭됨)의 Q행×R열 어레이를 갖는 종래의 픽셀 어레이 광학 센서일 수도 있지만 필수적이지는 않으며, 프로그래밍가능 스캔 레이트로 광학 검출기 픽셀들을 스캐닝하고 "스캔 시작" 및 "스캔 종료" 포맷을 갖는 대응하는 데이터 스트림을 출력하는 회로(상세히 도시되지 않음)를 갖는다. 라벨들 "Q" 및 "R"이 고유한 의미를 갖지 않는 간단한 임의의 참조 라벨들이며, 임의의 다른 참조 라벨들, 예를 들어, "X" 및 "Y"가 대신 사용될 수도 있음을 이해할 것이다. 예시적인 실시예들에 관련된 당업자들은, 예시적인 실시예들에 따라 실시하도록 본 발명의 관점에서, 상업적으로 이용가능하거나 다른 종래의 기술의 픽셀 어레이 광학 센서를 설계 및 구성 또는 선택 및 구성하기 위해, 종래의 픽셀 어레이 광학 센서 기술들의 지식을 갖고, 그리고/또는 종래의 픽셀 어레이 광학 센서들, 및 이와 동일한 것을 제공하는 다양한 상업적인 벤더(vendor)들의 지식을 갖는다. 따라서, 예시적인 실시예들에 따른 실시들에 관련된 예시적인 스캐닝 동작들을 제외하고, 광학 센서(250)의 상세한 설명은 생략된다. 비디오 회로(202)는, 예를 들어, 내부 멀티미디어 패브릭 또는 버스(210)에 의해 상호접속되는 카메라 코어(204), 및 비디오 코더/디코더(VCODEC)(206) 및 3D 프로세서(208)와 같은 다운스트림 프로세서들을 포함할 수도 있다. 일 양상에 따르면, 비디오 회로(202)는, 예시적인 실시예들에 따른 카메라 코어(204)로부터의 이미지 데이터의 직접적인 블록 와이즈 전달이 소망될 수도 있는, 카메라 코어(204)와 다운스트림 프로세서들 중 하나 또는 그 초과, 예를 들어, VCODEC(206) 및 3D 프로세서(208) 중 하나 또는 양자 사이에서 예시적인 직접적인 핸드쉐이크 경로들(212A 및 212B)과 같은 직접적인 핸드쉐이크 경로를 포함할 수도 있거나 그것을 형성하도록 구성될 수도 있다. 이해될 바와 같이, 직접적인 핸드쉐이크 경로들(예를 들어, (212A 및 212B))의 이러한 양상에 추가적으로, 비디오 회로(202) 내의 다운스트림 프로세서들로의 블록 와이즈 전달의, 카메라 코어(204)에 의한 제어를 제공하는 경우, (212A 및 212B)와 같은 직접적인 핸드쉐이크 경로들이 전용될 수도 있다.
계속 도 2를 참조하면, 달리 명시적으로 나타내거나 상이한 의미를 갖는 것으로 맥락으로부터 명확해지는 경우를 제외하고, 본 명세서에서 사용된 바와 같이, 용어 카메라 코어(204)로부터의 "이미지 데이터의 직접적인 전달"이, 추가적으로 후술되는 외부 메모리(252)(또는 도 1의 외부 메모리(120))와 같은 외부 메모리로의 오프로딩 없이, (내부 멀티미디어 패브릭(210) 또는 그의 등가물과 같은 내부 경로를 통하는) 카메라 코어(204) 또는 그의 등가물에 의해 또는 그를 통해 제어되는 이미지 데이터의 전달을 포함함을 이해할 것이다. 또한, 일 양상에 따르면, "내부 멀티미디어 패브릭(210) 또는 그의 등가물과 같은 내부 경로"가 카메라 코어(204) 또는 그의 등가물로부터 다운스트림 프로세서, 예를 들어, VCODEC(206) 및/또는 3D 프로세서(208)로의 전달들을 포함할 수도 있으며, 그 전달은 예시적인 비디오 회로(202)에 도시된 "IMEM"(214)과 같은 로컬 메모리를 통과할 수 있음을 이해할 것이다. 카메라 코어로부터 다운스트림 프로세서로의 이미지 데이터의 직접적인 전달의 이러한 양상에 따른 일 예는, 카메라 코어(204)로부터 IMEM(214)으로의 전달 DT1 및 IMEM(214)으로부터 VCODEC(206)로의 전달 DT2를 포함하는 것으로서 도 2 상에 도시되어 있으며, 추후의 섹션들에서 더 상세히 설명된다. 이러한 양상에 추가적으로, IMEM(214)으로부터 VCODEC(206) 또는 3D 프로세서(208)로의 도 2의 전달 DT2와 같은, 카메라 코어로부터 다운스트림 프로세서로의 이미지 데이터의 직접적인 전달에서, 이미지 데이터는, 직접적인 핸드쉐이크 신호 경로(212A 또는 212B)를 통한 카메라 코어(204)와 VCODEC(206) 또는 3D 프로세서(208) 사이의 핸드쉐이킹 신호들의 동시 통신과 함께 멀티미디어 패브릭(210) 또는 그의 등가물을 통해 전달될 수도 있다.
여전히 도 2를 참조하면, 내부 멀티미디어 패브릭(210)의 구조 및 프로토콜에 관해, 이들이 실시예들에 반드시 특정되는 것은 아님을 이해할 것이다. 이와 대조적으로, 당업자들은, 당업자들이 소유하는 노하우(know-how)를 본 발명에 적용할 경우, 예시적인 실시예들에 따라 실시하기 위해 현재의 표준 내부 멀티미디어 패브릭(210) 또는 그의 등가물을 구성하도록 종래의 프로토콜들 및 상호접속 규격들 중에서 용이하게 선택할 수 있다. 따라서, 내부 멀티미디어 패브릭(210)의 상세들의 추가적인 상세한 설명이 생략된다. 부가적으로, 당업자는, 본 발명의 관점에서, 예시적인 실시예들에 따라 실시하기 위해 카메라 코어(204) 및 VCODEC(206)과 같은 기능 블록들의 상호접속을 위한, 추후에 개발될 수도 있는 패브릭들, 버스들, 및 다른 상호접속들을 용이하게 적응시킬 수 있다. 또한, 실시예들이 "버스" 또는 "패브릭"의 의미 내에 있는 (카메라 코어(204) 및 VCODEC(206)와 같은) 기능 블록들의 상호접속들로 제한되지 않음을 이해할 것이다.
계속 도 2를 참조하면, 비디오 회로(202)는, 예를 들어, 애플리케이션 패브릭(256)에 의해 내부 멀티미디어 패브릭(210)에 접속될 수도 있는 애플리케이션 프로세서(254)를 포함할 수도 있지만, 본 발명으로부터 이해될 바와 같이, 예시적인 실시예들에 따른 실시들을 위해 생략될 수도 있다. 예시적인 기능 블록도(200) 내의 비디오 회로(202)는 또한, 메모리 제어기(258)를 갖고 외부 메모리(252)와 인터페이싱하는 것으로 도시되어 있다. 하지만, 메모리 제어기(258) 및 외부 메모리(252), 또는 그러한 디바이스들의 사용은 예시적인 실시예들에 따른 실시들을 위해 생략될 수도 있다. 따라서, 애플리케이션 프로세서(254), 애플리케이션 패브릭(256), 메모리 제어기(258), 및 외부 메모리(252)의 추가적인 상세한 설명은 생략된다.
일 예시적인 실시예에 따르면, 일 양상에서 그리고 상술된 바와 같이, 도 2의 기능 블록도(200)에 따른 시스템 또는 방법은, 검출기 픽셀들의 Q×R 어레이를 갖는 광학 센서(250)를 이용할 수도 있다. 일 양상에서, 광학 센서(250)는, 주어진 프레임 레이트 FS의 정수 N 배수로 Q×R 검출기 픽셀들의 래스터 스캔을 수행하도록 구성될 수도 있다. 일 양상에서, 광학 센서(250)는, 래스터 스캔들의 각각에서, 블록만을, 예를 들어, 광학 센서의 검출기 픽셀들의 Q×R 어레이의 1/N을 스캐닝할 수 있는 "크롭 또는 블록" 또는 그의 등가물의 특성을 포함할 수도 있다. 도 3을 참조하여 더 상세히 후술될 바와 같이, 그러한 크롭 및 블록 또는 그와 등가의 동작을 사용할 경우, 광학 센서(250)는 N개의 타일들의 바둑판 무늬의 패턴(tessellated patten)으로서 광학 센서의 검출기 픽셀들의 Q×R 어레이를 스캐닝할 수도 있으며, 각각의 타일은 QR/N개의 픽셀들을 갖는다. 일 예시로서, 불필요한 산술 복잡도 없이 설명에 촛점을 맞추기 위해, 예시적인 광학 센서(250)는 검출기 픽셀들의 Q×R 어레이를 가질 수도 있으며, Q 및 R은 1024(또는 1K)의 예시적인 값을 갖고, N은 16의 예시적인 값으로 셋팅된다. 크롭 및 블록 또는 그의 등가물이 광학 센서(250) 내에서 수행된다고 가정하면, 각각의 래스터 스캔은 그에 따라, 256×256 또는 64K 픽셀들의 블록을 생성하고 카메라 코어(204)에 전송할 것이다. 예들을 설명할 시에 오직 최소의 산술 복잡도를 위한 것인 이들 값들의 가분성(divisibility)을 제외하고, Q 및 R의 이들 값들이 임의적임을 이해할 것이다. N의 예시적인 값은 부분적으로 임의적이며, 이러한 설명으로부터 당업자들에 의해 이해될 바와 같이, 하나의 예시적인 블록 사이즈로서 64K 픽셀들을 나타내도록 선택되었다.
상술된 크롭 및 블록 또는 그와 등가의 기능들을 수행하도록 종래의 Q×R 광학 센서를 구성하기 위한 일반적인 방법들 및 수단은 일반적으로 알려져 있으며, 따라서, 추가적인 상세한 설명이 생략된다. 본 발명의 실시예들이 광학 센서(250) 내의 크롭 및 블록 또는 그와 등가의 기능을 수행하는 것으로 제한되지 않음을 이해할 것이다. 추후의 섹션들에서 상세히 설명되는 다른 양상에서, 카메라 코어(204)는 예시적인 실시예들에 따라, 광학 센서(250)로부터 전체 프레임들을 수신하며, 그 후, 프레임들의 각각을 블록 방식으로 N개의 블록들로서 다운스트림 프로세서들에 전달하도록 구성될 수도 있다. 또한, 이러한 다른 양상에 따르면, 그리고 추후의 섹션들에서 더 상세히 설명될 바와 같이, 카메라 코어(204)는 레이턴시 버퍼(명시적으로 도시되지 않음)로 구성될 수도 있다. 부가적으로, 카메라 코어(204)는, 광학 센서(250)로부터의 새로운 프레임 데이터를 다운스트림 프로세서들로의 블록 전달들에 의해 비워진 공간에 저장하기 위해 레이턴시 버퍼를 관리하도록 구성될 수도 있다. 추가적으로, 본 발명에 기초하여, 각각의 래스터 스캔에서 Q×R 광학 센서들의 1/N의 블록만을 스캐닝 또는 그렇지 않으면 선택 또는 추출하기 위한 대안적인 수단 및 방법들은, 당업자에게 명백해질 수도 있다. 일 예시로서, 블록 선택 버퍼(도면들에 명시적으로 도시되지 않음)는 비디오 회로(202) 내에, 예를 들어, 비디오 회로(202)와 광학 센서(250) 사이의 인터페이스(도시되지만 별개로 넘버링되지 않음)와 카메라 코어(204) 사이에 포함될 수도 있다. 그러한 블록 선택 버퍼는, 광학 센서(250)에 의해 수행되는 래스터 스캔들의 각각에서, (Q 및 R의 상술된 예시적인 값들을 사용하여 1M 픽셀 프레임일) 픽셀들의 전체 Q×R 프레임을 수신하고, 이들 픽셀들의 하나의 QR/N=1M/16=64K 블록만을 카메라 코어(204)에 전달하며, 나머지를 폐기할 수 있다. 당업자들은 본 발명을 판독할 시에, 광학 센서(250) 내에서 Q×R 광학 센서 또는 그의 등가물로부터 블록들을 선택 또는 추출하기 위한 그러한 수단 또는 방법들을 구현하는 회로를 용이하게 선택, 설계 및/또는 구성할 수도 있다.
도 2를 참조하면 그리고 예시적인 실시예들에 따른 시스템들에서, 그리고 방법들에 대한 예시적인 프로세스들의 설명으로 계속하면, 예시를 위해 식별된 예시적인 값들 Q=R=1024 및 N=16을 사용할 경우, 도 2의 기능 블록도(200)에 따른 일 예에서, 1K×1K 광학 센서들의 예시적인 어레이의 좌측 상단에서 광학 센서들의 256×256(64K) 서브-블록 또는 서브-어레이(별개로 도시되지 않음)를 스캐닝하고, 대응하는 64K 픽셀 블록을 생성함으로써, 예시적인 래스터 스캔 시퀀스가 시작할 수도 있다. 그 후, 64K 픽셀 블록은 카메라 코어(204)에 전달될 수도 있다. 도 2는 이러한 64K 픽셀 블록 전달과 같은 픽셀 블록 전달의 일 예를 NBLK로서 도시한다. 광학 센서(250)와 비디오 회로(202) 사이의 인터페이스의 상세사항(specific)들 및 카메라 코어(204)로의 NBLK 픽셀 블록 전달의 관련된 상세사항들에 관해, 상술된 바와 같이, 각각의 픽셀 스캔에 대해 광학 센서(250)로부터 출력된 데이터는 일반적인 종래의 래스터 스캔 출력 포맷에 따를 수도 있다. 인터페이스 회로가 선택된 광학 센서(250)의 회로 및 카메라 코어(204)에 대해 선택된 회로에 특정적일 것이라는 것이 프로세싱 분야들의 당업자들에 의해 또한 용이하게 인식될 것이다. 본 발명으로부터, 당업자들은, 예시적인 실시예들에 따라 실시하기 위해 그러한 인터페이스 및 블록 전달 동작들을 수행하도록 회로를 용이하게 선택, 구성 및/또는 설계할 수 있으며, 따라서, 이들 기능들의 추가적인 상세한 설명은 생략된다.
예시적인 실시예들에 따른 시스템 상의 및 프로세스 내의 일 예시적인 동작을 설명하는 것으로 추가적으로 계속하여, Q=R=1024 및 N=16의 상술된 예시적인 값들을 사용할 경우, 일 양상에서, 카메라 코어(204)는 레이턴시 버퍼(명시적으로 도시되지 않음)로 구성될 수도 있다. 예시의 목적들을 위해, 광학 센서(250)의 각각의 래스터 스캔에서 생성된 픽셀 블록들 중 M개를 홀딩할 수 있는 레이턴시 버퍼를 카메라 코어(204)가 갖는 일 예가 가정될 것이다. M의 값에 관해, 본 발명으로부터 당업자들에 의해 용이하게 이해될 바와 같이, 그 값은 픽셀 블록들의 사이즈에 의존할 수도 있으며, 이는 차례로, Q 및 R의 값들과 함께 N의 값에 의존한다. 이들 조건들을 전제로, 몇몇 예들에서, M이 N과 동일할 수도 있지만, 다른 예들에서, M이 N보다 작을 수도 있으며, 추가적으로 M이 N보다 심지어 더 클 수도 있음이 명백할 것이다. 즉, 카메라 코어(204)가 프레임의 일부만을 홀딩할 수 있을 수도 있거나 광학 센서(250)로부터의 이미지 데이터의 전체 프레임을 홀딩할 수 있을 수도 있는 실시예들이 고려된다. 일 양상에서, 카메라 코어(204)는, 레이턴시 버퍼의 충진 레벨을 검출하며, 이러한 검출에 적어도 부분적으로 기초하여, 레이턴시 버퍼의 오버-플로우를 회피하는 레이트로 다운스트림 프로세서(예를 들어, VCODEC(206) 또는 3D 프로세서(208))로의 저장된 픽셀 블록들의 전달을 달성하기 위하여, 예를 들어, (212A 또는 212B)와 같은 직접적인 핸드쉐이크 경로들을 통해 핸드쉐이크 신호들을 통신하도록 구성될 수도 있다. 카메라 코어(204) 내의 그러한 레이턴시 버퍼 및 자신의 충진 상태를 검출하기 위한 수단의 특정한 구조에 관해, 일반적인 레이턴시 버퍼들 및 그러한 버퍼들의 충진 상태의 검출을 위한 다양한 구조들 및 방법들은, 이들 실시예들에 관련된 프로세싱 분야들의 당업자들에게 알려져 있다. 따라서, 당업자들은 본 발명을 판독할 시에, 예시적인 실시예들에 따라 실시하기 위해 그러한 버퍼링 및 검출 기능들을 수행하도록 회로를 선택, 구성 및/또는 설계하기 위해 이러한 일반적인 노하우를 용이하게 적용할 수 있으며, 따라서, 그러한 구조의 추가적인 상세한 설명은 생략된다.
카메라 코어(204) 내의 레이턴시 버퍼의 상술된 양상에 부가적으로 또는 그에 대한 일 대안으로서, 다른 양상에서, IMEM(214)과 같은 로컬 메모리는, 예를 들어, 광학 센서(250)의 각각의 래스터 스캔에서 생성된 픽셀 블록들 중 S개를 홀딩할 수 있는 레이턴시 버퍼(명시적으로 도시되지 않음)를 갖도록 구성될 수도 있다. M과 같이 S가 픽셀 블록들의 사이즈, 즉 N, Q 및 R에 의존할 수도 있음을 이해할 것이다. 일 추가적인 양상에서, 카메라 코어(204)는, IMEM(214) 내의 그러한 레이턴시 버퍼의 충진 레벨을 검출하거나 그렇지 않으면 모니터링하며, 그러한 검출 또는 모니터링에 적어도 부분적으로 기초하여, 예를 들어, (212A 또는 212B)와 같은 직접적인 핸드쉐이크 경로들을 통해 핸드쉐이크 신호들을 통신하고, 그에 의해, IMEM(214) 레이턴시 버퍼의 오버-플로우를 회피하는 레이트로 IMEM(214)으로부터 다운스트림 프로세서(예를 들어, VCODEC(206) 또는 3D 프로세서(208))로의 저장된 픽셀 블록들의 전달을 달성하도록 구성될 수도 있다. 레이턴시 버퍼들 및 그러한 버퍼들의 충진 상태의 검출을 위한 상술된 다양한 구조들 및 방법들로서, IMEM(214) 내의 그러한 레이턴시 버퍼 및 카메라 코어(204)가 자신의 충진 상태를 검출 또는 모니터링하기 위한 수단의 특정한 구조에 관해, 카메라 코어(204)의 레이턴시 버퍼 양상을 참조하여 상술된 이유들 때문에, 그러한 구조의 상세한 설명은, 예시적인 실시예들에 따라 실시하기 위해 본 발명의 관점을 갖는 당업자들에 대해 필요하지 않으며, 따라서, 생략된다.
도 2를 참조하면, 상술된 바와 같이, 기능 블록도(200)에 따른 예시적인 시스템에서, Q=R=1024 및 N=16을 사용할 경우, 하나의 예시적인 N 래스터 스캔 시퀀스 내의 제 1 래스터 스캔은, 1K 광학 센서에 의해 1K의 좌측 상단 256×256 블록을 스캐닝할 수도 있으며, NBLK로서 카메라 코어(204)에 전달될 수도 있는 64K 픽셀 블록을 생성한다. 일 예에서, 즉시, 또는 카메라 코어(204) 내의 레이턴시 버퍼(도면들에 명시적으로 도시되지 않음)의 선택된 구성 및 특정한 상태에 의존할 수도 있는 레이턴시 이후, 카메라 코어(204)는 DT1에 의해 표현된 바와 같은 전달에서, 이러한 제 1 64K 픽셀 블록을 IMEM(214)에 전달할 수도 있다. 추가적으로, DT1 전달 이전의 또는 심지어 DT1 전달과 중첩하는 시간에서, 광학 센서(250)는 제 2 래스터 스캔을 수행할 수도 있으며, 다른 NBLK 전달로서 다른 64K 블록을 카메라 코어(204)에 전송한다. 예를 들어, 일 예시적인 N 래스터 스캔 시퀀스 내의 제 2 래스터 스캔은, 다른 또는 제 2 64K 픽셀 블록을 생성하기 위해 제 1 256×256 블록의 바로 우측에 있는 1K×1K 광학 센서들의 어레이의 상단 256×256 블록을 스캐닝할 수도 있다. 또한, 즉시, 또는 카메라 코어(204) 내의 레이턴시 버퍼의 선택된 구성 및 특정한 상태에 의존할 수도 있는 레이턴시 이후, 카메라 코어(204)는 DT1에 의해 표현된 바와 같은 다른 전달에서, 이러한 제 2 64K 픽셀 블록을 IMEM(214)에 전달할 수도 있다.
도 3의 그래픽 도면으로부터 그리고 추후의 섹션들에서의 설명에 관해 추가적으로 이해될 바와 같이, Q=R=1024 및 N=16을 사용하는 인스턴트 예에서, 16개의 래스터 스캔들은 상위 레벨 래스터 스캔으로서 개념화될 수도 있지만, 4개의 타일들의 4개의 행들을 스캐닝하여 개별적인 픽셀들을 스캐닝하는 것 대신에, 각각의 타일은 64K 픽셀들의 블록이다. 그로써 개념화되고 좌측-우측 상단-하단 배향으로 광학 센서(250)의 Q×R 광학 센서 픽셀들의 어레이를 뷰잉(view)할 경우, 16개의 래스터 스캔들 중 첫번째는, 좌측 상단 코너에서의 타일(좌측 상단 코어에서 64K 블록으로서 상술됨)의 스캔일 수도 있으며, 16개의 스캔들 중 마지막은 우측 하단 코너에서의 타일(즉, 64K 픽셀 블록)일 수도 있다. 또한, 광학 센서(250)에 의해 수행된 스캐닝의 이러한 순서, 즉, 좌측 상단에서 시작하고 우측 하단에서 종료하는 순서가 단지 일 예일 뿐이며, 임의의 실시예 또는 임의의 실시예의 임의의 양상의 범위에 대한 임의의 제한으로서 의도되지 않음을 이해할 것이다. 예를 들어, 제 1 래스터 스캔은, 광학 센서(250)를 형성하는 Q×R 검출기 픽셀 어레이의 우측 하단에서의 QR/N 픽셀 블록의 스캔일 수도 있다. 당업자들에 의해 이해될 바와 같이, 상술된 상위 레벨 또는 타일 스캐닝은 또한, N개의 블록들로 이미지를 분할하는 것으로서 뷰잉될 수도 있다.
도 2의 기능 블록도(200)를 여전히 참조하여, 그리고, Q=R=1024 및 N=16을 사용하는 예시적인 구성으로 계속하면, 16개의 래스터 스캔들의 상술된 시퀀스 및 대응하는 16 NBLK 전달 및 대응하는 전달들 DT1 동안의 어느 때에서, IMEM(214)은, 원하는 다운스트림 프로세서, 예를 들어, VCODEC(206)으로의 전달들 DT1을 통해 자신이 수신했던 64K 블록들을 전달하는 것을 시작할 수도 있다. 일 예를 나타내려는 목적들을 위해, 원하는 다운스트림 프로세서가 VCODEC(206)인 것이 임의로 가정될 것이다. 이들 전달들의 예들은 도 2 상에 DT2로서 도시되며, 일 양상에 따르면, 이들은 카메라 코어(204)와 VCODEC(206) 사이의 직접적인 핸드쉐이킹 신호 통신, 즉 직접적인 핸드쉐이크 경로(212A)에 의해 제어될 수도 있다. 상술된 바와 같이, 일 양상에 따르면, IMEM(214)은 레이턴시 버퍼(도면들에 명시적으로 도시되지 않음)를 가질 수도 있고, 자신의 레이턴시 버퍼의 충진 상태를 검출하기 위한 수단을 가질 수도 있으며, 관련 양상에서, 카메라 코어(204)는 그 상태를 검출 또는 그렇지 않으면 모니터링하도록 구성될 수도 있다. 이러한 양상에 추가적으로, 16의 예시적인 N을 사용할 경우, 16개의 전달 DT2의 시퀀스는 VCODEC(206)로의 전체 프레임의 블록 와이즈 전달을 달성하도록 수행될 수도 있다. 16개의 전달들 DT2의 시퀀스에 대해 요구되는 시간 범위(span)가 16개의 전달 DT1의 시퀀스에 대해 요구되는 시간 범위와 부분적으로 중첩할 수도 있고, 특정한 양만큼 래그(lag)될 수도 있음을 이해할 것이다. 또한, 내부 멀티미디어 패브릭(210)에 대해 선택된 특정한 구성에 의존하여, 전달들 DT1 및 DT2가 내부 멀티미디어 패브릭(210) 상에서, 예를 들어, 시분할 멀티플렉싱에서 인터리빙될 수도 있음을 이해할 것이다.
도 2를 참조하면, 전달들 중 N개가 광학 센서(250)에 의해 생성된 Q×R 픽셀들의 모든 각각의 프레임에 대해 수행되어야 하기 때문에, 전달들 NBLK, 전달들 DT1, 및 전달들 DT2가, FR의 N배의 평균 전달 레이트를 갖는 파이프라인으로서 뷰잉되거나 개념화될 수도 있음을 이해할 것이다. 또한, 카메라 코어(204) 및 IMEM(214), 및 포함된다면 이들 회로들의 레이턴시 버퍼(들)가, NBLK, 카메라 코어(204)로부터 IMEM(214)으로의 16개(또는 다른 N개)의 DT1 전달들, 및 IMEM(214)으로부터 다운스트림 프로세서(예를 들어, VCODEC(206))로의 16개(또는 다른 N개)의 DT2 전달들로서 전달되는 16개의 픽셀 블록들을 생성하는 16개(또는 다른 N개)의 래스터 스캔들 사이의 래그 또는 레이턴시에서 탄력성(elasticity)을 갖도록 구성될 수도 있다는 것이 당업자들에 의해 용이하게 이해될 것이다. 당업자들에 의해 소유되는 패킷 버퍼 관리의 기본적인 노하우를 갖는 당업자들은 본 발명에 기초하여, 그러한 탄력성을 제공하기 위해 카메라 코어(204) 및 IMEM(214)에서 회로를 선택, 구성 및/또는 설계하도록 그러한 일반적인 노하우를 용이하게 적용할 수 있으며, 따라서, 이들 기능들의 추가적인 상세한 설명은 생략된다.
또한 도 2를 참조하면, 다른 양상에서, 카메라 코어(204)는, 완전한 래스터 스캔들로서 광학 센서(250)로부터 로우 프레임 데이터를 수신하도록 구성될 수도 있으며, 그 각각은 전체 Q×R 픽셀 프레임이다. 이러한 양상에 따르면, 전달들 NBLK는, FS의 N배와는 대조적으로 프레임 레이트 FS에 존재한다. 이러한 양상에 추가적으로, 카메라 코어(204)는, 하나의 프레임 또는 더 큰 용량 레이턴시 버퍼(도면들에 명시적으로 도시되지 않음)에 로우 프레임 데이터를 저장하고, 그 후, 각각의 전달 DT1에 의해 레이턴시 버퍼에서 비워진 공간이 광학 센서(250)로부터의 전달 NBLK로서 다음의 프레임으로부터 그 양의 픽셀 데이터를 수신하기에 이용가능하게 되도록 하는 레이턴시를 이용하여, FS의 N배인 레이트로 N개의 전달들 DT1을 수행하도록 구성될 수도 있다. 전달들 DT1로부터 이용가능하게 되는 공간(들)에 저장하는 것을 포함하여, 광학 센서(250)로부터의 새로운 프레임 데이터를 저장하기 위한 카메라 코어(204) 내의 레이턴시 버퍼에 대한 특정한 구조(들)에 관해, 일반적인 레이턴시 버퍼링을 위한 다양한 구조들 및 방법들은 이들 실시예들에 관련된 당업자들에 알려져 있으며, 본 발명의 관점을 갖는 당업자들은, 예시적인 실시예들에 따라 그러한 양상들을 실시하기 위해 레이턴시 버퍼링을 구현하도록 그러한 구성 및 방법들을 용이하게 선택 및 구성할 수 있다.
도 3은 예시적인 실시예들에 따른 방법들에 대한 및 시스템들 내의 일 예시적인 프로세스의 흐름도(300)이다. 흐름도(300)의 특정한 양상들을 예시하기 위해, 특정한 예들은 도 2의 기능 블록도(200)를 참조하여 설명될 것이다. 그러나, 이것이 단지 특정한 예들을 통해 개념들을 나타내기 위한 것이며, 임의의 실시예 또는 임의의 실시예의 임의의 양상의 범위를 제한하도록 의도되지 않음을 이해할 것이다.
도 3을 참조하면, 프레임들(302)은 하나의 완전한 Q×R 프레임, 예를 들어, 광학 센서(250)로부터의 Q×R 픽셀 검출기들의 모두를 표현한다. 스캔 라인들(304-1, 304-2 ... 304-j ... 304-N)(집합적으로 "스캔들(304)"로서 지칭됨) 각각은, 일 양상에서는 각각의 프레임(302)에 대해 수행되는 광학 센서(250)의 N개의 스캔들 중 하나를 표현한다. 스캔들(304)의 각각은, "스캔 프레임"(306)으로 지칭되는 것을 출력하며, 따라서, 하나의 Q×R 프레임, 또는 이미지는 N개의 스캔 프레임들의 연속 또는 시퀀스로서 고려될 수도 있다. 도 2 및 도 3을 참조하면, 각각의 스캔 프레임(306)으로부터의 데이터는, 도 2에 도시된 대응하는 하나의 전달 NBLK에 의해 반송될 수 있다. 도 3은, 그 스캔에서 획득된 N개의 픽셀 블록들 중 특정한 블록을 표현하는 스캔 프레임(306-1) 내의 픽셀 블록(308-1)과 같은 픽셀 블록을 포함하는 각각의 스캔 프레임(306)으로서 이것을 도시한다. 본 발명을 판독한 당업자들에 의해 인식될 바와 같이, 픽셀 블록(308-1)과 같은 픽셀 블록은 대안적으로, "이미지 블록"으로 라벨링될 수도 있다.
광학 센서(250)가 픽셀 블록들의 크롭 및 블록 선택 또는 추출을 수행하는 양상들에서, 스캔 프레임(306)은 픽셀 블록(308)만을 포함할 수도 있다. 예를 들어, 이들 양상들에서, 스캔 프레임(306-1)에 대응하는 NBLK는 픽셀 블록(308-1)으로만 이루어져 있다. 유사하게, 스캔 프레임(306-2)에 대응하는 NBLK는 픽셀 블록(308-2)으로만 이루어질 것이고, 스캔 프레임(306-j)에 대응하는 NBLK는 픽셀 블록(308-j)으로만 이루어질 것이며, 스캔 프레임(306-N)에 대응하는 제 N NBLK는 픽셀 블록(308-N)으로만 이루어질 것이다. 따라서, Q=R=1024 및 N=16를 사용하는 상술된 예에서, 스캔 프레임들(306-1 ... 306-N)의 각각은, 픽셀 블록(308-1 ... 308-N)(집합적으로, "픽셀 블록들(308)"로서 지칭됨)의 64K만을 가질 것이다.
도 3을 여전히 참조하면, 대조적으로, 카메라 코어(204) 또는 그의 등가물이 스캔 프레임들(306) 상에서 픽셀 블록들의 크롭 및 블록 선택 또는 추출을 수행하는 양상들에서, 스캔 프레임들(306)의 각각은 Q×R 픽셀들일 수도 있다. 이들 양상들을 참조하면, 픽셀 블록들(308)은, 카메라 코어(204) 또는 그의 등가물에서 수행되는 크롭 및 블록 선택 또는 추출을 표현한다. 도 3의 예시적인 흐름(300)에서, 제 1 래스터 스캔(304-1)에 대응하는 스캔 프레임(306-1)은 자신의 좌측 상단에서 픽셀 블록(308-1)을 갖는다. 상술된 바와 같이, 이것은 광학 센서(250) 내의 광학 센서들의 Q×R 어레이의 좌측 상단에서 타일로서 개념화될 수도 있다. 도 3에 도시된 바와 같이, 연속하는 스캔 프레임들(306)이 픽셀 블록들(308)을 획득할 수도 있는 일 예시적인 순서는, "우측 하단" 타일에서 종료할 때까지, 타일들의 "상단" 행의 "좌측"에서 시작하여, "상단" 행의 "우측"에서 종료하고, 하나의 행 아래로 이동하며, "좌측"에서 "우측"으로의 순서를 반복하는, 타일들의 좌측에서 우측으로의 "스캔"을 생성한다. 도 3의 흐름(300)은, 프레임(302)의 중간 또는 중앙 영역에 있는 스캔 프레임(306-j)의 픽셀 블록(308-j) 및 프레임(302)의 우측 하단에 있는 스캔 프레임(306-N)의 픽셀 블록(308-N)으로서 이러한 예시적인 순서의 부가적인 스냅샷들을 도시한다. "좌측", "우측", "상부", "하부", "상단" 및 "하단"의 이들 예시적인 방향들 및 배향들이 상대적이며, 프레임(302) 내의 픽셀의 임의의 실제 위치 또는 배향에 반드시 대응하는 것은 아님을 이해할 것이다.
스캔 프레임들(306)이 픽셀 블록들(308)을 추출하는 상기 예시적인 순서 - "순서"는 프레임(302) 내의 픽셀 블록의 위치에서의 진행을 의미함 - 가 단지 일 예이며, 임의의 실시예의 범위 또는 실시예들 중 임의의 실시예의 임의의 양상의 범위에 대한 임의의 제한으로서 의도되지 않음을 이해할 것이다. 예를 들어, 일 고려되는 대안에서, 제 2 스캔 프레임(306-2)은, 픽셀 블록(308-1)에 수평으로 인접하는 것 대신, 픽셀 블록(308-1)으로부터 수직으로 변위되거나 대각으로 변위될 수도 있는 픽셀 블록(308-2)을 추출할 수도 있다. 당업자들에 의해 본 발명으로부터 이해될 바와 같이, N개의 픽셀 블록들(308)의 순서는, 예를 들어, VCODEC(206)에 의해 사용된 특정한 코딩 방식에 부분적으로 의존할 수도 있다. 또한, N개의 픽셀 블록들이 다운스트림 프로세서(예를 들어, 도 2의 VCODEC(206) 또는 3D 프로세서(208))에 의해 요구되는 순서에 대응할 픽셀 블록들(308)을 스캔 프레임들(306)이 추출하는 순서를 선택하는 것이 바람직할 수도 있다는 것이 당업자들에 의해 이해될 것이다. 예를 들어, 본 발명으로부터 당업자들에 의해 용이하게 이해되는 바와 같이, 다운스트림 프로세서에 의해 요구되는 순서에 대응하지 않는 픽셀 블록들(308)에 대한 선택 또는 추출 순서는, 선택 또는 추출 순서가 다운스트림 프로세서 순서에 대응하면 필요할 것보다 더 많은 수의 N개의 픽셀 블록들(308)을, 예를 들어, 카메라 코어(204) 또는 IMEM(214)에 저장하는 것을 필요로 할 수도 있다.
도 3을 여전히 참조하면, 블록 전달들(310)(예를 들어, 도시된 바와 같이, (310-1) 내지 (310-N))은 각각, 도 2의 카메라 코어(204) 또는 그의 등가물로부터 도 2의 VCODEC(206) 또는 3D 프로세서(208)와 같은 다운스트림 프로세서의 입력(312)으로의 픽셀 블록(308)의 블록 전달(예를 들어, (308-j)에 관련된 (310-j))을 표현한다. 일 양상에서, 각각의 블록 전달(310)은, 카메라 코어(204)로부터 IMEM(214)과 같은 로컬 메모리로의 픽셀 블록(308)의 DT1 전달, 후속하여, IMEM(214) 또는 그의 등가물로부터 다운스트림 프로세서로의 동일한 픽셀 블록의 대응하는 DT2 전달을 포함할 수도 있다. 이러한 일 양상에 추가적으로, 각각의 블록 전달(310)은, 카메라 코어(204) 또는 그의 등가물이 DT2 또는 그와 등가의 전달들을 수행하기 위해 VCODEC(206) 또는 다른 다운스트림 프로세서와 직접적인 핸드쉐이크 신호들을 통신하는 것을 포함할 수도 있다. 일 양상에 더 추가적으로, 각각의 블록 전달(310)은, 카메라 코어(204) 또는 그의 등가물이 카메라 코어(204) 또는 IMEM(214) 내의 레이턴시 버퍼들(도면들에 명시적으로 도시되지 않음)의 충진 날짜를 검출하거나 그렇지 않으면 모니터링하고, DT1 및/또는 DT2 전달들을 제어하기 위해 이러한 검출 및/또는 모니터링을 사용하는 것을 포함할 수도 있다.
도 4는, 본 발명의 하나 또는 그 초과의 실시예들이 유리하게 이용될 수도 있는 예시적인 무선 통신 시스템(400)을 도시한다. 예시의 목적들을 위해, 도 4는 3개의 원격 유닛들(420, 430, 및 450) 및 2개의 기지국들(440)을 도시한다. 종래의 무선 통신 시스템들이 훨씬 더 많은 원격 유닛들 및 기지국들을 가질 수도 있음을 인식할 것이다. 원격 유닛들(420, 430, 및 450)은, 추가적으로 후술되는 바와 같이 본 발명의 실시예들 중에 있는 반도체 디바이스들(425, 435 및 455)을 포함한다. 도 4는, 기지국들(440)로부터 원격 유닛들(420, 430, 및 450)로의 순방향 링크 신호들(480) 및 원격 유닛들(420, 430, 및 450)로부터 기지국들(440)로의 역방향 링크 신호들(490)을 도시한다.
도 4에서, 원격 유닛(420)은 모바일 전화로서 도시되고, 원격 유닛(430)은 휴대용 컴퓨터로서 도시되며, 원격 유닛(450)은 무선 로컬 루프 시스템 내의 고정 위치 원격 유닛으로서 도시된다. 원격 유닛들은, 예를 들어, 모바일 전화기, 핸드-헬드 개인용 통신 시스템(PCS) 유닛들, 개인 휴대 정보 단말과 같은 휴대용 데이터 유닛, (GPS 인에이블된 디바이스와 같은) 네비게이션 디바이스, 셋탑 박스, 뮤직 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 검침(meter reading) 장비와 같은 고정 위치 데이터 유닛, 또는 데이터 또는 컴퓨터 명령들을 저장 또는 리트리브하는 임의의 다른 디바이스, 또는 이들의 임의의 결합 중 임의의 것일 수도 있다. 도 4가 본 발명의 교시들에 따른 원격 유닛들을 도시하지만, 본 발명은 이들 예시적인 도시된 유닛들로 제한되지 않는다. 기재된 디바이스는, 온-칩 전압 조절기를 갖는 반도체 디바이스를 포함하는 임의의 디바이스에서 적절히 이용될 수도 있다.
당업자들에 의해 용이하게 인식될 바와 같이, 실시예들의 특성들 및 이점들은 다른 것들 중에서도, 상호접속들을 통한 트래픽을 감소시킴으로써 더 낮은 전력, 및 외부 I/O로의 감소된 액세스, 및 추가적으로는 외부 메모리에 의한 더 낮은 전력 소비를 포함한다. 부가적인 특성들 및 이점들은, 버스 트래픽을 감소시킴으로써의 개선된 시스템 동시성(concurrency), 및 외부 메모리로의 오프로딩을 제거함으로써의 도 2의 VCODEC(206) 또는 3D 프로세서(208)에 의해 수행되는 것과 같은 다운스트림 프로세싱에 대한 레이턴시에서의 감소를 포함하지만 이에 제한되지 않는다. 다른 예시적인 특성은, 더 낮은 전력 및 더 낮은 레이턴시의 상술된 이점들이, 적어도 수 메가바이트들일 수 있는 종래의 프레임 버퍼, 예를 들어, 관련 기술의 도 1에 도시된 외부 메모리(120)와 비교하여, 예를 들어, 수백 킬로바이트의 범위에 있을 수 있는 비디오 회로 내부의 작은 로컬 메모리, 예를 들어, IMEM(214)만을 사용하여 획득된다는 것이다. 또 다른 예시적인 특성 및 이점은, 다양한 결합들 및 배열들에서, 카메라 코어와 다운스트림 프로세서 사이의 직접적인 핸드쉐이크 경로를 갖는 예시적인 실시예들을 통해, 이들이 작은 용량을 갖는다고 하더라도 로컬 메모리 및 카메라 내의 레이턴시 버퍼 내에서 오버플로우가 방지될 수 있다는 것이다.
전술한 본 발명이 본 발명의 예시적인 실시예들을 도시하지만, 첨부된 청구항들에 의해 정의된 바와 같은 본 발명의 범위를 벗어나지 않으면서 다양한 변화들 및 변경들이 행해질 수 있음을 유의해야 한다. 본 명세서에 설명된 본 발명의 실시예들에 따른 방법 청구항들의 기능들, 단계들 및/또는 동작들은 임의의 특정한 순서로 수행될 필요는 없다. 또한, 본 발명의 엘리먼트들이 단수로 설명 또는 청구될 수도 있지만, 단수로의 제한이 명시적으로 나타나지 않으면, 복수가 고려된다.

Claims (55)

  1. 이미지를 프로세싱하는 방법으로서,
    카메라 코어에서 상기 이미지를 수신하는 단계; 및
    상기 카메라 코어로부터 다운스트림 프로세싱 엔진으로 블록 단위로 상기 이미지를 전달하는 단계를 포함하며,
    상기 전달하는 단계는,
    상기 카메라 코어와 상기 다운스트림 프로세싱 엔진 사이에 핸드쉐이킹(handshaking) 신호를 통신하는 단계; 및
    상기 핸드쉐이킹 신호와 연관하여,
    상기 카메라 코어로부터 버스를 통해 로컬 메모리로 상기 이미지를 전송하는 단계; 및 상기 로컬 메모리로부터 상기 버스를 통해 상기 다운스트림 프로세싱 엔진으로 상기 이미지를 전달하는 단계를 포함하고,
    상기 카메라 코어와 상기 다운스트림 프로세싱 엔진 사이에 핸드쉐이킹 신호를 통신하는 단계는, 상기 버스의 외부에 있고, 상기 카메라 코어 및 상기 다운스트림 프로세싱 엔진에 커플링된 직접적인 핸드쉐이킹 경로를 통하는, 이미지를 프로세싱하는 방법.
  2. 제 1 항에 있어서,
    상기 전달하는 단계는, N개의 이미지 블록들로서 상기 이미지를 전달하며,
    상기 N은 적어도 2인, 이미지를 프로세싱하는 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    주어진 순서에 따라 상기 다운스트림 프로세싱 엔진에서의 이미지 프로세싱을 더 포함하며,
    상기 전달하는 단계는, 상기 주어진 순서에 따라 이미지 블록들의 시퀀스로서 상기 이미지를 전달하는, 이미지를 프로세싱하는 방법.
  5. 제 1 항에 있어서,
    상기 다운스트림 프로세싱 엔진은, 비디오 코더/디코더(VCODEC), 그래픽 프로세싱 유닛(GPU) 또는 디스플레이인, 이미지를 프로세싱하는 방법.
  6. 제 1 항에 있어서,
    상기 버스를 통해 상기 다운스트림 프로세싱 엔진으로 상기 이미지를 전달하는 단계는, 블록들로 상기 이미지를 전달하는 단계를 포함하는, 이미지를 프로세싱하는 방법.
  7. 제 1 항에 있어서,
    상기 로컬 메모리로부터 상기 버스를 통해 상기 다운스트림 프로세싱 엔진으로 상기 버스를 통해 상기 이미지를 전달하는 단계는, 상기 이미지를 N개의 블록들로 변환하는 단계를 포함하며,
    상기 N은 적어도 2인, 이미지를 프로세싱하는 방법.
  8. 삭제
  9. 제 1 항에 있어서,
    상기 카메라 코어와 상기 다운스트림 프로세싱 엔진 사이에 핸드쉐이킹 신호를 통신하는 단계는, 데이터 이용가능도를 표시하는 핸드쉐이크 신호들을 통신하는 단계를 포함하는, 이미지를 프로세싱하는 방법.
  10. 제 1 항에 있어서,
    상기 카메라 코어와 상기 다운스트림 프로세싱 엔진 사이에 핸드쉐이킹 신호를 통신하는 단계는, 상기 카메라 코어 내의 버퍼에서 오버플로우를 방지하는 것에 적어도 부분적으로 기초하는, 이미지를 프로세싱하는 방법.
  11. 삭제
  12. 제 1 항에 있어서,
    상기 카메라 코어에서 상기 이미지를 수신하는 단계는,
    광학 센서에서 상기 이미지를 생성하는 단계;
    N개의 이미지 블록들로 상기 이미지를 분할하는 단계 -상기 N은 적어도 2임 -;
    상기 N개의 이미지 블록들을 상기 카메라 코어에 순차적으로 전달하는 단계; 및
    상기 카메라 코어에 다수의 상기 N개의 이미지 블록들을 동시에 저장하는 단계를 포함하는, 이미지를 프로세싱하는 방법.
  13. 제 12 항에 있어서,
    상기 N은 2 내지 20의 범위에 있는, 이미지를 프로세싱하는 방법.
  14. 제 12 항에 있어서,
    상기 카메라 코어 내의 상기 이미지 블록들의 수는 N보다 작은, 이미지를 프로세싱하는 방법.
  15. 제 1 항에 있어서,
    상기 카메라 코어에서 상기 이미지를 수신하는 단계는,
    광학 센서에서 상기 이미지를 생성하는 단계;
    복수의 N개의 이미지 블록들로 상기 이미지를 분할하는 단계 - 상기 N은 적어도 2임 -;
    상기 광학 센서로부터 상기 카메라 코어로 상기 이미지 블록들을 순차적으로 전달하는 단계; 및
    상기 카메라 코어에 다량의 상기 N개의 이미지 블록들을 동시에 저장하는 단계를 포함하는, 이미지를 프로세싱하는 방법.
  16. 삭제
  17. 제 1 항에 있어서,
    상기 카메라 코어에서 상기 이미지를 수신하는 단계는,
    N개의 스캔들을 생성하기 위해 광학 센서에서 상기 이미지를 N회 스캐닝하는 단계 - 상기 N은 적어도 2임-;
    상기 N개의 스캔들의 각각에 대해, 상기 카메라 코어에 상기 이미지의 적어도 하나의 이미지 블록을 전달하는 단계; 및
    상기 카메라 코어에 다량의 상기 N개의 이미지 블록들을 동시에 저장하는 단계를 포함하는, 이미지를 프로세싱하는 방법.
  18. 삭제
  19. 프로세싱 엔진에 이미지를 전달하는 방법으로서,
    상기 이미지의 하나의 스캔을 획득하기 위해 광학 센서를 스캐닝하는 단계;
    상기 이미지의 하나의 스캔의 주어진 N-블록 분할의 이미지 블록을 추출하는 단계 - 상기 N은 적어도 2임 -;
    카메라 코어에 추출된 이미지 블록을 저장하는 단계;
    상기 카메라 코어로부터, 버스를 통해, 상기 버스에 접속된 로컬 메모리에 추출된 이미지 블록을 전달하는 단계;
    상기 로컬 메모리로부터, 상기 버스를 통해, 상기 버스에 접속된 다운스트림 프로세싱 엔진으로 상기 추출된 이미지 블록을 전달하는 단계; 및
    상기 다운스트림 프로세싱 엔진으로 상기 이미지를 제공하기 위해, 상기 스캐닝하는 단계, 상기 추출하는 단계, 상기 저장하는 단계, 및 상기 전달하는 단계를 N회 반복하는 단계를 포함하며,
    상기 로컬 메모리로부터 다운스트림 프로세싱 엔진으로 상기 추출된 이미지 블록을 전달하는 단계는, 상기 버스 외부에 있고 상기 카메라 코어 및 상기 다운스트림 프로세싱 엔진에 커플링된 직접적인 핸드쉐이킹 경로를 통해, 상기 카메라 코어와 상기 다운스트림 프로세싱 엔진 사이에서 직접적으로 핸드쉐이킹 신호를 통신함으로써 상기 전달을 제어하는 단계를 포함하는, 프로세싱 엔진에 이미지를 전달하는 방법.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 제 19 항에 있어서,
    상기 이미지는 비디오 프레임이며,
    상기 방법은, FS에 N배인 스캔 레이트에 있는 스캐닝에 의해, 프로세싱 엔진에 상기 비디오 프레임들의 시퀀스를 제공하는 단계, 및 상기 비디오 프레임들 각각에 대해, FS의 프레임 레이트로 상기 비디오 프레임들의 시퀀스를 제공하기 위한 레이트로 상기 스캐닝하는 단계, 상기 추출하는 단계, 상기 저장하는 단계, 및 상기 전달하는 단계를 N회 반복하는 것을 수행하는 단계를 더 포함하는, 프로세싱 엔진에 이미지를 전달하는 방법.
  25. 이미지 프로세서로서,
    버스;
    상기 버스에 커플링된 카메라 코어;
    상기 버스에 커플링된 다운스트림 프로세서;
    상기 버스에 커플링된 로컬 메모리; 및
    상기 카메라 코어 및 상기 다운스트림 프로세서에 커플링된 직접적인 핸드쉐이킹 경로를 포함하며,
    상기 카메라 코어는, 비디오 프레임을 수신하고, 상기 비디오 프레임을 상기 버스를 통해 상기 로컬 메모리로 전달하며, 상기 버스를 통한 블록 전달들에 의해 상기 로컬 메모리로부터 상기 다운스트림 프로세서로의 상기 비디오 프레임의 전달을 제어하고, 상기 직접적인 핸드쉐이킹 경로를 통해 상기 다운스트림 프로세서와의 핸드쉐이킹 신호들을 통신함으로써 상기 블록 전달들을 제어하도록 구성되는, 이미지 프로세서.
  26. 제 25 항에 있어서,
    상기 카메라 코어는, N개의 스캔 프레임들의 연속으로서 상기 비디오 프레임을 수신하도록 구성되며,
    상기 N은 적어도 2인, 이미지 프로세서.
  27. 제 26 항에 있어서,
    상기 카메라 코어는, 상기 N개의 스캔 프레임들의 각각으로부터 상기 N개의 픽셀 블록들 중 대응하는 픽셀 블록을 추출하도록 구성되고, 상기 비디오 프레임을 N개의 블록 전달들로서 상기 버스를 통해 상기 로컬 메모리에 전달하도록 구성되는, 이미지 프로세서.
  28. 제 25 항에 있어서,
    상기 다운스트림 프로세서는, 비디오 코더/디코더(VCODEC), 그래픽 프로세싱 유닛(GPU) 또는 디스플레이 중 임의의 것인, 이미지 프로세서.
  29. 삭제
  30. 제 25 항에 있어서,
    상기 카메라 코어는, 상기 비디오 프레임의 적어도 일부를 저장하기 위한 버퍼를 포함하며,
    상기 카메라 코어는, 상기 버퍼의 충진 레벨을 검출하고, 검출된 충진 레벨에 적어도 부분적으로 기초하여 상기 다운스트림 프로세서로의 상기 블록 전달들을 제어하도록 구성되는, 이미지 프로세서.
  31. 제 30 항에 있어서,
    상기 카메라 코어는 추가적으로, 상기 검출된 충진 레벨에 적어도 부분적으로 기초하여 상기 핸드쉐이킹 신호들 중 적어도 일부를 생성함으로써 상기 블록 전달들을 제어하도록 구성되는, 이미지 프로세서.
  32. 제 30 항에 있어서,
    상기 카메라 코어는 추가적으로, 상기 버퍼의 오버플로우를 방지하기 위해 상기 검출된 충진 레벨에 기초하여 상기 블록 전달들을 제어하도록 구성되는, 이미지 프로세서.
  33. 제 25 항에 있어서,
    상기 이미지 프로세서는 적어도 하나의 반도체 다이에 통합되는, 이미지 프로세서.
  34. 제 25 항에 있어서,
    상기 이미지 프로세서가 통합되는, 셋탑 박스, 뮤직 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 네비게이션 디바이스, 통신 디바이스, 개인 휴대 정보 단말(PDA), 고정 위치 데이터 유닛, 및 컴퓨터로 이루어진 그룹으로부터 선택되는 디바이스를 더 포함하는, 이미지 프로세서.
  35. 이미지 프로세서로서,
    버스;
    상기 버스에 접속된 카메라 코어;
    상기 버스에 커플링된 로컬 메모리;
    상기 버스의 외부에 있고, 상기 로컬 메모리와 상기 카메라 코어 사이에 커플링된 직접적인 핸드쉐이킹 경로;
    이미지의 하나의 스캔을 획득하기 위해 광학 센서를 스캐닝하기 위한 수단;
    상기 이미지의 하나의 스캔의 주어진 N-블록 분할의 블록을 추출하기 위한 수단 - 상기 N은 적어도 2임 -;
    상기 카메라 코어에, 추출하는 것으로부터 발생하는 추출된 블록을 저장하기 위한 수단;
    추출된 블록을 상기 버스를 통해, 상기 카메라 코어로부터 상기 로컬 메모리로 전달하기 위한 수단; 및
    상기 추출된 블록을 상기 로컬 메모리로부터, 상기 버스를 통해, 다운스트림 프로세싱 엔진으로 전달하기 위한 수단을 포함하며,
    상기 추출된 블록을 상기 로컬 메모리로부터 상기 다운스트림 프로세싱 엔진으로 전달하기 위한 수단은, 상기 카메라 코어와 상기 다운스트림 프로세싱 엔진 사이에서 상기 직접적인 핸드쉐이킹 경로를 통해 핸드쉐이킹 신호들을 통신함으로써 전달하는 것을 제어하도록 구성되는, 이미지 프로세서.
  36. 제 35 항에 있어서,
    상기 이미지 프로세서는 적어도 하나의 반도체 다이에 통합되는, 이미지 프로세서.
  37. 제 35 항에 있어서,
    상기 이미지 프로세서가 통합되는, 셋탑 박스, 뮤직 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 네비게이션 디바이스, 통신 디바이스, 개인 휴대 정보 단말(PDA), 고정 위치 데이터 유닛, 및 컴퓨터로 이루어진 그룹으로부터 선택되는 디바이스를 더 포함하는, 이미지 프로세서.
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 컴퓨터-판독가능 저장 매체로서,
    적어도 하나의 컴퓨터로 하여금 이미지의 하나의 스캔을 획득하기 위해 광학 센서를 스캔하게 하기 위한 코드;
    적어도 하나의 컴퓨터로 하여금 주어진 N-블록 분할에 따라 상기 이미지의 하나의 스캔의 이미지 블록을 추출하게 하기 위한 코드 - 상기 N은 적어도 2임 -;
    적어도 하나의 컴퓨터로 하여금 카메라 코어에 추출된 이미지 블록을 저장하게 하기 위한 코드;
    적어도 하나의 컴퓨터로 하여금 상기 추출된 이미지 블록을 상기 카메라 코어로부터 버스를 통해 상기 버스에 접속된 로컬 메모리로 전달하게 하기 위한 코드;
    적어도 하나의 컴퓨터로 하여금 상기 추출된 이미지 블록을 상기 로컬 메모리로부터, 상기 버스를 통해, 상기 버스에 접속된 다운스트림 프로세싱 엔진으로 전달하게 하기 위한 코드; 및
    적어도 하나의 컴퓨터로 하여금 상기 다운스트림 프로세싱 엔진에 상기 이미지를 제공하기 위해, 스캔, 추출, 저장, 및 전달을 N회 반복하게 하기 위한 코드를 포함하며,
    상기 적어도 하나의 컴퓨터로 하여금 상기 추출된 이미지 블록을 상기 로컬 메모리로부터 상기 다운스트림 프로세싱 엔진으로 전달하게 하기 위한 코드는, 적어도 하나의 컴퓨터로 하여금, 상기 버스 외부에 있고 상기 카메라 코어 및 상기 다운스트림 프로세싱 엔진에 커플링된 직접적인 핸드쉐이킹 경로를 통해, 상기 카메라 코어와 상기 다운스트림 프로세싱 엔진 사이에서 직접적으로 핸드쉐이킹 신호를 통신함으로써 상기 전달을 제어하게 하기 위한 코드를 포함하는, 컴퓨터-판독가능 저장 매체.
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 이미지 프로세싱 방법으로서,
    카메라 코어에서 이미지를 수신하는 단계; 및
    상기 카메라 코어로부터 다운스트림 프로세싱 엔진으로 블록 단위로 상기 이미지를 전달하는 단계를 포함하며,
    상기 전달하는 단계는,
    상기 카메라 코어 및 상기 다운스트림 프로세싱 엔진에 커플링된 직접적인 핸드쉐이킹 경로를 통해 상기 카메라 코어와 상기 다운스트림 프로세싱 엔진 사이에 핸드쉐이킹 신호를 통신하는 단계; 및
    상기 핸드쉐이킹 신호를 통신하는 단계와 연관하여,
    상기 카메라 코어로부터 버스를 통해 로컬 메모리로 상기 이미지를 전송하는 단계; 및
    상기 로컬 메모리로부터 상기 버스를 통해 상기 다운스트림 프로세싱 엔진으로 상기 이미지를 전달하는 단계를 포함하고,
    상기 직접적인 핸드쉐이킹 경로는 상기 버스의 외부에 있는, 이미지 프로세싱 방법.
  51. 이미지를 프로세싱 엔진에 전달하는 방법으로서,
    상기 이미지의 하나의 스캔을 획득하기 위해 광학 센서를 스캐닝하는 단계;
    상기 하나의 스캔의 주어진 N-블록 분할에 따라 상기 이미지의 하나의 스캔의 이미지 블록을 추출하는 단계 - 상기 N은 적어도 2임 -;
    카메라 코어에 추출된 이미지 블록을 저장하는 단계;
    상기 추출된 이미지 블록을 상기 카메라 코어로부터, 버스를 통해, 상기 버스에 접속된 로컬 메모리로 전달하는 단계;
    상기 추출된 이미지 블록을 상기 로컬 메모리로부터, 상기 버스를 통해, 다운스트림 프로세싱 엔진으로 전달하는 단계; 및
    상기 다운스트림 프로세싱 엔진에 상기 이미지를 제공하기 위해 상기 스캐닝하는 단계, 상기 추출하는 단계, 상기 저장하는 단계, 및 상기 전달하는 단계를 N회 반복하는 단계를 포함하며,
    상기 추출된 이미지 블록을 상기 로컬 메모리로부터 상기 다운스트림 프로세싱 엔진으로 전달하는 단계는, 상기 버스 외부에 있고, 상기 카메라 코어와 상기 다운스트림 프로세싱 엔진 사이에 직접적으로 커플링된 직접적인 핸드쉐이킹 경로를 통해 핸드쉐이킹 신호를 통신함으로써 상기 전달을 제어하는 단계를 포함하는, 이미지를 프로세싱 엔진에 전달하는 방법.
  52. 삭제
  53. 제 1 항에 있어서,
    상기 카메라 코어로부터 상기 로컬 메모리로 상기 이미지를 전송하는 단계는, 상기 로컬 메모리와 연관된 레이턴시 버퍼에 상기 이미지의 적어도 일부를 저장하는 단계를 포함하며,
    상기 방법은,
    상기 로컬 메모리와 연관된 상기 레이턴시 버퍼의 충진 상태를 검출하는 단계; 및
    검출된 충진 상태에 적어도 부분적으로 기초하여 상기 핸드쉐이킹 신호를 생성하는 단계를 더 포함하는, 이미지를 프로세싱하는 방법.
  54. 제 19 항에 있어서,
    상기 카메라 코어로부터 상기 로컬 메모리에 상기 추출된 이미지 블록을 전달하는 단계는, 상기 로컬 메모리와 연관된 레이턴시 버퍼에 상기 이미지의 적어도 일부를 저장하는 단계를 포함하며,
    상기 방법은,
    상기 로컬 메모리와 연관된 상기 레이턴시 버퍼의 충진 상태를 검출하는 단계; 및
    검출된 충진 상태에 적어도 부분적으로 기초하여 상기 다운스트림 프로세싱 엔진으로 통신하기 위한 상기 핸드쉐이킹 신호를 생성하는 단계를 더 포함하는, 프로세싱 엔진에 이미지를 전달하는 방법.
  55. 제 25 항에 있어서,
    상기 로컬 메모리는 상기 카메라 코어로부터 수신된 상기 비디오 프레임의 적어도 일부를 저장하기 위한 레이턴시 버퍼를 포함하며,
    상기 카메라 코어는, 상기 레이턴시 버퍼의 충진 레벨을 검출하고, 검출된 충진 레벨에 적어도 부분적으로 기초하여 상기 다운스트림 프로세서로의 블록 전달들을 제어하도록 구성되는, 이미지 프로세서.
KR1020147015884A 2011-11-11 2012-11-12 단단히 커플링된 저전력 이미지 프로세싱을 위한 방법 및 장치 KR101648518B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/294,681 US9001267B2 (en) 2011-11-11 2011-11-11 Method and apparatus for tightly coupled, low power image processing
US13/294,681 2011-11-11
PCT/US2012/064730 WO2013071273A1 (en) 2011-11-11 2012-11-12 Method and apparatus for tightly coupled, low power image processing

Publications (2)

Publication Number Publication Date
KR20140090260A KR20140090260A (ko) 2014-07-16
KR101648518B1 true KR101648518B1 (ko) 2016-08-17

Family

ID=47278521

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147015884A KR101648518B1 (ko) 2011-11-11 2012-11-12 단단히 커플링된 저전력 이미지 프로세싱을 위한 방법 및 장치

Country Status (7)

Country Link
US (1) US9001267B2 (ko)
EP (1) EP2777014B1 (ko)
JP (1) JP6058687B2 (ko)
KR (1) KR101648518B1 (ko)
CN (1) CN104520895B (ko)
IN (1) IN2014CN02944A (ko)
WO (1) WO2013071273A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10111591B2 (en) 2014-08-26 2018-10-30 Nanthealth, Inc. Real-time monitoring systems and methods in a healthcare environment
CN106547505B (zh) * 2015-09-22 2021-02-05 同方威视技术股份有限公司 用于实时滑动显示扫描图像的方法及系统
US10148972B2 (en) 2016-01-08 2018-12-04 Futurewei Technologies, Inc. JPEG image to compressed GPU texture transcoder

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483058B1 (en) * 2003-08-04 2009-01-27 Pixim, Inc. Video imaging system including a digital image sensor and a digital signal processor

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4845663A (en) 1987-09-03 1989-07-04 Minnesota Mining And Manufacturing Company Image processor with free flow pipeline bus
JPH02257352A (ja) * 1989-03-30 1990-10-18 Sharp Corp Vmeバスを用いた高速ローカルバス
KR920007920B1 (ko) 1989-05-30 1992-09-19 재단법인 한국전자통신연구소 비디오폰 시스템
JPH08101806A (ja) * 1994-09-30 1996-04-16 Oki Electric Ind Co Ltd Dma装置、マイクロプロセッサ及びマイクロコンピュータシステム
JPH08289207A (ja) * 1995-04-19 1996-11-01 Hitachi Ltd ディジタルカメラ
KR100251457B1 (ko) 1997-11-18 2000-04-15 윤종용 실시간수행이 가능한 비데오코덱
JPH11194995A (ja) * 1997-12-26 1999-07-21 Mitsubishi Electric Corp Dram内蔵マイクロプロセッサ及びdram内蔵マイクロプロセッサのデータ転送方法
US6593963B1 (en) * 1998-05-29 2003-07-15 Agilent Technologies, Inc. Programmable control of operational signals in a digital camera
US6995794B2 (en) 1999-06-30 2006-02-07 Logitech Europe S.A. Video camera with major functions implemented in host software
JP3768182B2 (ja) * 2002-10-23 2006-04-19 三洋電機株式会社 電子カメラ
US7606427B2 (en) 2004-07-08 2009-10-20 Qualcomm Incorporated Efficient rate control techniques for video encoding
US20070008325A1 (en) 2005-07-08 2007-01-11 Rai Barinder S Method and apparatus providing for high efficiency data capture for compression encoding
JP4156615B2 (ja) * 2005-08-22 2008-09-24 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 携帯電話機、通信端末、通話方法及び通話プログラム
JP4135755B2 (ja) 2006-07-19 2008-08-20 株式会社日立製作所 情報記録再生装置及びデータ移動方法
JP2008048130A (ja) * 2006-08-15 2008-02-28 Fujitsu Ltd Jpeg画像処理回路
KR100840004B1 (ko) * 2006-09-29 2008-06-20 임정순 거푸집용 인코너 연결구
US8570393B2 (en) * 2007-11-30 2013-10-29 Cognex Corporation System and method for processing image data relative to a focus of attention within the overall image
US8890955B2 (en) * 2010-02-10 2014-11-18 Magna Mirrors Of America, Inc. Adaptable wireless vehicle vision system based on wireless communication error
JP5160655B2 (ja) * 2011-01-12 2013-03-13 富士フイルム株式会社 画像処理装置および方法並びにプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483058B1 (en) * 2003-08-04 2009-01-27 Pixim, Inc. Video imaging system including a digital image sensor and a digital signal processor

Also Published As

Publication number Publication date
KR20140090260A (ko) 2014-07-16
EP2777014A1 (en) 2014-09-17
US9001267B2 (en) 2015-04-07
US20130120593A1 (en) 2013-05-16
CN104520895B (zh) 2018-01-30
CN104520895A (zh) 2015-04-15
EP2777014B1 (en) 2016-03-23
IN2014CN02944A (ko) 2015-07-03
JP6058687B2 (ja) 2017-01-11
JP2015508515A (ja) 2015-03-19
WO2013071273A1 (en) 2013-05-16

Similar Documents

Publication Publication Date Title
CN108198126B (zh) 可动态配置的流水线预处理器
CN106408502B (zh) 实时视频帧预处理硬件
US8098955B2 (en) Efficient selection and application of regions of interest in digital imaging
JP2005287029A (ja) データを動的に処理する方法及びデジタルカメラ
KR101648518B1 (ko) 단단히 커플링된 저전력 이미지 프로세싱을 위한 방법 및 장치
CN109429069B (zh) 一种显示流压缩编码器以及显示引擎
EP1747513B1 (en) Hierarchical processor architecture for video processing
CN110383822B (zh) Uhd图像数据的自适应比特率流
CN106067955A (zh) 用于图像传感器的读出电路
US8754896B2 (en) Data processing apparatus having a parallel processing circuit including a plurality of processing modules, and method for controlling the same
US7739428B2 (en) Memory control apparatus and memory control method
EP1763238A2 (en) Image processor, imaging device, and image processing system
CN110771159A (zh) 图像处理系统和图像处理方法
JP2018198406A (ja) 監視カメラシステムおよび画像処理装置
CN110447231B (zh) 传输来自多个源的超高清视频的方法及装置
TWI514888B (zh) 高速傳送接收影像資料方法及裝置
JP4270169B2 (ja) ラインバッファを使わずに画像を次元変換するための方法並びに装置
CN102790853B (zh) 全向相机
JP2017055217A (ja) 画像処理装置と画像処理方法及び撮像装置
US20070098273A1 (en) Image processing apparatus and apparatus connected to image processing apparatus
CN109510994A (zh) 用于图像压缩的像素级分量参考预测方法
KR101716180B1 (ko) 다채널 영상 시스템에서 출력 가속을 위한 시스템 및 방법
CN112801850A (zh) 用于中间帧图像处理的装置和计算机实现的方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant