KR20150081373A - 움직임 보상 및 디스플레이 리프레시의 전력 소모를 감소시키는 dram 압축 방안 - Google Patents

움직임 보상 및 디스플레이 리프레시의 전력 소모를 감소시키는 dram 압축 방안 Download PDF

Info

Publication number
KR20150081373A
KR20150081373A KR1020157017371A KR20157017371A KR20150081373A KR 20150081373 A KR20150081373 A KR 20150081373A KR 1020157017371 A KR1020157017371 A KR 1020157017371A KR 20157017371 A KR20157017371 A KR 20157017371A KR 20150081373 A KR20150081373 A KR 20150081373A
Authority
KR
South Korea
Prior art keywords
data
motion compensation
memory controller
decompression
compensation module
Prior art date
Application number
KR1020157017371A
Other languages
English (en)
Inventor
젠 팡
니틴 비 거프트
시아오웨이 지앙
Original Assignee
인텔 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Publication of KR20150081373A publication Critical patent/KR20150081373A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • 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
    • H04N19/426Methods 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 using memory downsizing methods
    • 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
    • H04N19/426Methods 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 using memory downsizing methods
    • H04N19/428Recompression, e.g. by spatial or temporal decimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

메모리 제어기를 동작시키는 시스템 및 방법은 움직임 보상 모듈로부터 기입 요청을 수신하는 것을 제공할 수 있고, 기입 요청은 비디오 데이터를 포함한다. 압축된 데이터를 얻기 위해 비디오 데이터의 압축이 수행될 수 있고, 비디오 데이터의 압축은 움직임 보상 모듈에 대해 투명하다. 부가하여, 압축된 데이터는 하나 이상의 메모리 칩에 저장될 수 있다. 더욱이, 판독 요청이 수신될 수 있고, 그 요청에 응답하여 하나 이상의 메모리 칩의 적어도 하나에서 저장된 데이터가 검색된다. 부가적으로, 압축해제된 데이터를 얻기 위해 저장된 데이터의 압축해제가 수행될 수 있다.

Description

움직임 보상 및 디스플레이 리프레시의 전력 소모를 감소시키는 DRAM 압축 방안{DRAM COMPRESSION SCHEME TO REDUCE POWER CONSUMPTION IN MOTION COMPENSATION AND DISPLAY REFRESH}
본 발명은 움직임 보상 및 디스플레이 리프레시의 전력 소모를 감소시키는 DRAM 압축 방안에 관한 것이다.
임의의 모바일 장치가 여러가지 소스로부터의 영상을 재생할 수 있다. 일반적인 모바일 장치의 영상 재생 방식은 DRAM(dynamic random access memory) 프레임 버퍼에 데이터를 저장하기 이전에 비디오 데이터를 디코딩하는 움직임 보상 기술을 포함할 수 있고, 디스플레이 제어기는 디스플레이 장치로의 출력을 위한 프레임 버퍼 데이터를 처리할 수 있다. 움직임 보상 동작에 사용된 데이터의 메모리 사용량을 감소시키기 위한 종래의 시도는 디스플레이 메모리 전력 효율에 부정적인 영향을 가질 수 있다. 한편, 종래의 디스플레이 메모리 전력 감소 기술은 비디오 디코딩 관점에서 과제를 제시할 수 있다.
본 발명의 실시예의 여러가지 이점은 다음의 명세서 및 첨부된 청구범위를 읽음으로써, 그리고 다음 도면을 참조함으로써 당업자에게 명백해질 것이다.
도 1(a)는 일 실시예에 따른 비디오 디코딩 동작과 연관된 프레임 데이터의 예의 블록도이다.
도 1(b)는 일 실시예에 따른 비디오 재생 구조의 프레임 데이터의 사용의 예의 블록도이다.
도 2(a)는 일 실시예에 따른 움직임 보상 프레임 버퍼 액세스 순서의 예의 블록도이다.
도 2(b)는 일 실시예에 따른 디스플레이 출력 프레임 버퍼 액세스 순서의 예의 블록도이다.
도 3은 일 실시예에 따른 메모리 제어기의 예의 블록도이다.
도 4는 일 실시예에 따른 압축 방식의 예를 도시하는 도면이다.
도 5는 일 실시예에 따른 압축/압축해제 구조의 예의 블록도이다.
도 6(a)는 일 실시예에 따른 메모리 기입 요청을 처리하는 방법의 예의 흐름도이다.
도 6(b)는 일 실시예에 따른 메모리 판독 요청을 처리하는 방법의 예의 흐름도이다.
도 7은 일 실시예에 따른 시스템의 일례의 블록도이다.
도 8은 일 실시예에 따른 내비게이션 제어기를 갖는 시스템의 일례의 블록도이다.
도 9는 일 실시예에 따른 소형 폼 팩터를 갖는 시스템의 일례의 블록도이다.
실시예는 움직임 보상 모듈로부터의 기입 요청을 수신하는 압축 모듈을 갖는 메모리 제어기를 포함할 수 있고, 기입 요청은 비디오 데이터를 포함한다. 압축 모듈은 또한 압축된 데이터를 얻기 위해 비디오 데이터의 압축을 수행할 수 있고, 하나 이상의 메모리 칩에 압축된 데이터를 저장할 수 있다. 일례에서, 메모리 제어기는 또한 압축해제 모듈을 갖는다.
실시예는 또한 디스플레이, 하나 이상의 메모리 칩, 및 움직임 보상 모듈 및 메모리 제어기와 함께 프로세서 칩을 포함할 수 있다. 메모리 제어기는 움직임 보상 모듈로부터의 기입 요청을 수신하는 압축 모듈을 포함할 수 있고, 기입 요청은 비디오 데이터를 포함한다. 부가하여, 입축 모듈은 압축된 데이터를 얻기 위해 비디오 데이터의 압축을 수행할 수 있고, 하나 이상의 메모리 칩의 적어도 하나에 압축된 데이터를 저장할 수 있다.
다른 실시예는, 기입 요청이 움직임 보상 모듈로부터 수신되는 메모리 제어기를 동작시키는 컴퓨터 구현 방법을 포함할 수 있다. 기입 요청은 비디오 데이터를 포함할 수 있고, 방법은 압축된 데이터를 얻기 위해 비디오 데이터의 압축을 수행하는 단계와, 하나 이상의 메모리 칩에 압축된 데이터를 저장하는 단계를 더 포함한다.
부가적으로, 실시예는 기입 요청이 움직임 보상 모듈로부터 수신되는 메모리 제어기를 동작시키는 컴퓨터 구현 방법을 포함할 수 있다. 기입 요청은 비디오 데이터를 포함할 수 있고, 방법은 압축된 데이터를 얻기 위해 비디오 데이터의 압축을 수행하는 단계를 더 포함한다. 비디오 데이터의 압축은 움직임 보상 모듈에 대해 투명할 수 있다. 방법은 하나 이상의 메모리 칩에 압축된 데이터를 저장하는 단계와, 판독 요청을 수신하는 단계를 더 제공할 수 있다. 저장된 데이터는 판독 요청에 응답하여 하나 이상의 메모리 칩의 적어도 하나에서 검색될 수 있다. 더욱이, 저장된 데이터의 압축해제는 압축해제된 데이터를 얻기 위해 수행될 수 있다. 일례에서, 압축해제는 저장된 데이터의 요청자에 대해 투명(transparent)하다.
도 1(a) 및 도 1(b)를 참조하면, 프레임 데이터의 세트 및 비디오 재생 구조(16)는 각각 모바일 장치 등의 플랫폼에서 디코딩되는 비디오 콘텐츠에 대해 도시된다. 특히, 구조(16)의 메모리 시스템(26)은 재구성된 화소를 포함하는 DRAM 프레임 버퍼(30)를 포함할 수 있고, 이는 디스플레이 제어기(도시하지 않음)에 의해 검색되고, 예컨대, MPEG2(Moving Picture Experts Group 2) 프로토콜 등의 비디오 프로토콜에 따라 디스플레이(28)로 출력된다. 도시된 예에서, 프레임 데이터는 I 프레임(인트라 코딩된 프레임)(10), B 프레임 세트(양방향 예측 프레임)(12)(12a-12c), 및 P 프레임(예측 프레임)(14)을 포함한다. 각각의 B 프레임(12)은 정시보다 일찍 발생하는 I 프레임(10)을 참조로서 이용하고, 정시보다 늦게 발생하는 P 프레임(14)을 참조로서 이용하여 디코딩될 수 있다 따라서, B 프레임(12)을 재구성하는 것은 메모리 시스템(26)으로부터 I 프레임(10) 및 P 프레임(14) 양쪽으로 반복적으로 액세스할 필요에 의해 비교적 메모리 집약적일 수 있다.
예컨대, 비디오 재생 구조(16)는 역 이산 코사인 변환("IDCT") 모듈(20) 및 움직임 보상("MC") 모듈(22) 모두에 디코딩된 비디오 데이터를 공급하는 가변 길이 디코더("VLD")를 포함할 수 있고, MC 모듈(22)은 참조 프레임(예컨대, I 프레임 및 P 프레임)에 대해 본질적으로 화소 좌표 포인터인 움직임 벡터를 이용하여 한번에 하나의 매크로블럭(예컨대, 16x16 화소)씩 프레임을 재구성할 수 있다. 이하에 더 상세히 설명하는 바와 같이, 여기에 설명된 기술은 MC 모듈(22) 및 디스플레이(28)의 관점에서 프레임 버퍼(30)에 대한 더 효율적인 액세스를 가능하게 하고, 향상된 메모리 효율은 전력 소모를 줄이고 배터리 수명을 증가시키게 할 수 있다.
도 2(a) 및 도 2(b)는 각각 움직임 보상 모듈 및 디스플레이의 관점에서 프레임 버퍼 액세스 순서를 도시한다. 특히, 움직임 보상 모듈에 대해 도시된 프레임 버퍼 액세스 순서는 매크로블록(32) 단위로 되고, 반면 디스플레이에 대한 프레임 버퍼 액세스 순서는 로우(34) 단위로 될 수 있다. 따라서, 여기에 설명된 기술에 의해 제거되는 어려움을 제시할 수 있는 2가지 액세스 순서 사이에 불일치가 있을 수 있다.
특히, 도 3은 하나 이상의 DRAM 칩(38)으로 및 그로부터의 비디오 데이터의 송신을 관리하는 메모리 제어기(36)를 도시하고, 여기서 DRAM 칩(38)은 이미 논의된 프레임 버퍼(30)(도 1(b)) 등의 프레임 버퍼를 구현하는 데 사용될 수 있다. 도시된 예에서, 메모리 제어기(36)는, 움직임 보상 모듈(22)로부터 (직접 또는 간접적으로) 기입 요청(44)을 처리하는 압축 모듈(42)과, 움직임 보상 모듈(22) 및 디스플레이(28)로부터 (직접 또는 간접적으로) 판독 요청(48)(48a, 48b)을 처리하는 압축해제 모듈(46)을 갖는 비디오 효율성 로직(40)을 포함한다. 따라서, 움직임 보상 모듈(22)로부터의 기입 요청(44) 및 디스플레이(28)로부터의 판독 요청(48b)은 I 프레임(10), B 프레임(12) 및 P 프레임(14)(도 1(a)) 비디오 데이터의 전송을 포함할 수 있는 반면, 움직임 보상 모듈(22)로부터의 판독 요청(48a)은 I 프레임(10) 및 P 프레임(14)(도 1(a)) 데이터(예컨대, 참조 프레임)의 전송을 포함할 수 있다.
도시된 압축 모듈(42)은 움직임 보상 모듈(22)로부터 기입 요청(44)을 수신하고, 기입 요청(44)과 연관된 비디오 데이터의 압축을 수행하고, 압축된 데이터를 DRAM 칩(38)에 기입하도록 적절하게 구성된다. 따라서, 압축 모듈(42)은 매크로블록 단위로 움직임 보상 모듈(22)로부터 수신된 I, B 및 P 프레임을 압축할 수 있고, 압축은 움직임 보상 모듈(22)에 투명할 수 있다.
도 4는 압축을 수행하는 한 방식을 도시하고, 여기서 차동 펄스 코드 변조(DPCM) 및 허프만 코딩 프로세스가 사용된다. 특히, (예컨대, 16바이트로 표현된) 16개의 휘도값의 매크로블록 열은 DPCM "슬로프"로 표현될 수 있고, 이는 결국 DPCM "슬로프 델타"의 세트로 변환될 수 있다. 따라서 호프만 코딩 프로세스는 50%로 압축되는 코드(50)를 생성할 수 있다. 50% 이상의 압축이 바람직하면, 하나 이상의 트레일링 AC(예컨대, 교류, 비제로(non-zero) 주파수) DCT 계수는 비가역 압축(lossy compression)을 얻기 위해 길이가 줄여질 수 있고, 길이줄임(truncation)은 드물 수 있고, 비 전문적 시청자들에게는 인지되지 않을 수 있다.
도 3으로 돌아가면, 도시된 압축해제 모듈(46)은 움직임 보상 모듈(22) 및 디스플레이로부터 판독 요청(48)을 수신하고, 판독 요청(48)에 응답하여 DRAM 칩(38)에서 저장된 데이터를 검색하고, 압축해제된 데이터를 얻기 위해 저장/검색된 데이터의 압축해제를 수행하도록 구성된다. 압축해제된 데이터가 움직임 보상 모듈(22)로부터의 판독 요청(48a)에 대응하면, 압축해제된 데이터가 움직임 보상 모듈(22)로 전송될 수 있고, 도시된 예에서, 저장된 데이터의 압축해제는 움직임 보상 모듈(22)에 대해 투명하다. 압축해제된 데이터가 디스플레이(28)로부터의 판독 요청(48b)(예컨대, 디스플레이 리프레시)에 대응하면, 압축해제된 데이터는 디스플레이(28)에 전송될 수 있고, 도시된 예에서, 저장된 데이터의 압축해제는 디스플레이(28)에 투명하다. 압축해제 프로세스는 본질적으로 압축 프로세스의 반대일 수 있다. 메모리 제어기(36)는 또한 DRAM 칩(38)으로의 및 DRAM 칩(38)으로부터의 다른 비 재생 관련 전송(49)을 지원할 수 있다.
도 5는 움직임 보상 모듈 및 디스플레이의 관점으로부터의 메모리 구조의 가상 뷰(54)가 매크로블록에 저장되고 검색되는 데이터인 압축 구조(52)를 도시한다. 그러나, 메모리 구조의 실제 뷰(56)는, 비디오 데이터가 훨씬 적은 메모리를 사용할 수 있다는 것을 반영한다. 감소된 양의 메모리 사용은 결국 메모리 액세스와 관련된 전력 소모를 상당히 줄일 수 있다. 특히 주목할 것은, 도시된 방식은 DRAM 또는 여분 메모리 복사 동작에 여분의 버퍼를 필요로 하지 않는다는 것이다. 따라서, 메모리 제어기에서 도시된 방식을 구현하는 것은 더 큰 메모리 액세스 효율성을 가능하게 할 수 있지만, 그 방식은 메모리 구조 그 자체가 아니라 시스템 구성요소에 여전히 투명할 수 있다.
도 6(a)는 기입 요청을 처리하는 방법(60)을 도시한다. 방법(60)은 RAM, 판독전용 메모리(ROM), 프로그래머블 ROM(PROM), 플래시 메모리 등의 머신 또는 컴퓨터 판독 가능한 스토리지 매체와, 예컨대, 프로그래머블 로직 어레이(PLA), 필드 프로그래머블 게이트 어레이(FPGA), 복합 프로그래머블 로직 장치(CPLD) 등의 구성 가능한 로직과, 예컨대, 주문형 반도체(ASIC), 상보 금속 산화물 반도체(CMOS) 또는 트랜지스터-트랜지스터 로직(TTL) 기술 등의 회로 기술을 이용하는 고정 기능성 로직 하드웨어 또는 임의의 그들 조합에 저장된 로직 명령어의 세트로서 메모리 제어기에 구현될 수 있다. 예컨대, 방법(60)에 도시된 동작을 수행하는 컴퓨터 프로그램 코드는, C++ 등의 객체 지향 프로그래밍 언어 및 "C" 프로그래밍 언어 등의 종래의 절차적 프로그래밍 언어 또는 유사한 프로그래밍 언어를 포함하여, 하나 이상의 프로그래밍 언어의 임의의 조합으로 기입될 수 있다. 더욱이, 방법(60)은 상술한 회로 기술 중 임의의 것을 이용하여 구현될 수 있다.
도시된 처리 블럭(62)은 움직임 보상 모듈로부터의 기입 요청을 수신하는 것을 허용하고, 기입 요청은 비디오 데이터를 포함할 수 있다. 블럭(64)은 압축된 데이터를 얻기 위해 비디오 데이터의 압축을 수행할 수 있고, 비디오 데이터의 압축은 움직임 보상 모듈에 대해 투명하다. 블럭(66)에서 압축된 데이터는 하나 이상의 메모리 칩에 저장될 수 있다.
도 6(b)는 판독 요청을 처리하는 방법(68)을 도시한다. 방법(60)은 RAM, ROM, PROM, 플래시 메모리 등의 머신 또는 컴퓨터 판독 가능한 스토리지 매체와, 예컨대, PLA, FPGA, CPLD 등의 구성 가능한 로직과, 예컨대, ASIC, CMOS 또는 트랜지스터-트랜지스터 로직(TTL) 기술 등의 회로 기술을 이용하는 고정 기능성 로직 하드웨어 또는 임의의 그들 조합에 저장된 로직 명령어의 세트로서 메모리 제어기에 구현될 수 있다. 도시된 처리 블럭(70)은 움직임 보상 모듈 또는 디스플레이 제어기 등의 시스템 구성요소로부터의 판독 요청을 수신하는 것을 제공한다. 블럭(72)에서 저장된 데이터는 적어도 하나의 메모리 칩에서 검색될 수 있고, 블럭(74)은 저장된 데이터의 압축해제를 수행할 수 있다. 그 후 압축해제된 데이터는 데이터의 요청자로 전달될 수 있다.
이제 도 7을 참조하면, 메모리 제어기 기반 압축 및 압축해제가 구현되는 비디오 가능 컴퓨팅 시스템(76)이 도시된다. 컴퓨팅 시스템(76)은, 예컨대, 랩탑, PDA, 무선 스마트폰, 미디어플레이어, 이미징 장치, MID, 및 스마트폰, 스마트 태블릿 등의 임의의 스마트 장치 또는 그들의 임의의 조합 등의 모바일 플랫폼의 일부일 수 있다. 컴퓨팅 장치(76)는 또한 퍼스널 컴퓨터(PC), 스마트 TV, 서버, 워크스테이션 등의 고정 플랫폼의 일부일 수 있다. 도시된 컴퓨팅 시스템(76)은, 하나 이상의 프로세서(78), 디스플레이 제어기(82)를 갖는 디스플레이 장치(80), 및, 예컨대, 더블데이터 레이트(DDR) 동기식 DRAM(SDRAM, 예컨대, DDR3 SDRAM JEDEC Standard JESD79-3C, 2008년 4월) 모듈을 포함할 수 있는 시스템 메모리(84)를 포함한다. 시스템 메모리(84)의 모듈은 SIMM(Single Inline Memory Module), DIMM(Dual Inline Memory Module), SODIMM(small outline DIMM) 등과 연관된 하나 이상의 칩으로 통합될 수 있다.
프로세서(78)는 비디오 디코더(86), 집적 메모리 제어기(88), 및 호스트 OS(운영 시스템) 및/또는 애플리케이션 소프트웨어와 연관된 하나 이상의 드라이버를 실행시키는 하나 이상의 프로세서 코어(도시하지 않음)를 가질 수 있고, 각 코어는 명령어 페치 유닛, 명령어 디코더, 레벨 1(L1) 캐시, 실행 유닛 등과 함께 완전히 기능적으로 될 수 있다. 프로세서(78)는, 이와 달리 전면 버스를 통해 노스브리지로 알려진, 메모리 제어기(88)의 오프칩 변형과 통신할 수 있다. 도시된 프로세서(78)는 허브 버스를 통해 사우스브리지라고도 알려진, 플랫폼 제어기 허브(PCH)(90)와 통신한다. 메모리 제어기(88)/프로세서(78) 및 PCH(90)는 때때로 칩셋으로 불린다. PCH는 네트워크 제어기(92) 및/또는 대용량 스토리지(94)(예컨대, 하드디스크 드라이브/HDD, 광 드라이브 등)와 연결될 수 있다.
도시된 메모리 제어기(88)는, 이미 논의된 효율성 로직(40)(도 3) 등의 효율성 로직(96)을 포함한다. 따라서, 메모리 제어기(88)는 디코더(86)의 움직임 보상 모듈(도시하지 않음)로부터의 기입 요청을 수신하고, 기입 요청과 연관된 비디오 데이터를 압축하고, 압축된 데이터를 시스템 메모리(84)에 저장하도록 구성될 수 있다. 부가하여, 메모리 제어기(88)는 디코더(86)의 움직임 보상 모듈 및 디스플레이 제어기(82)로부터의 판독 요청을 수신하고, 판독 요청에 응답하여 시스템 메모리(84)에서 저장된 데이터를 검색하고, 요청자에게 압축해제된 데이터를 전송하기 전에 검색된 데이터를 압축해제하도록 구성될 수 있다. 압축 및 압축해제 프로세스는 메모리 제어기(88) 및 시스템 메모리(84)가 아닌 모든 시스템 구성요소에 투명할 수 있다.
도 8은 시스템(700)의 일 실시예를 도시한다. 실시예에서, 시스템(700)은 이 맥락에 한정되지 않지만, 시스템(700)은 미디어 시스템일 수 있다. 예컨대, 시스템(700)은 퍼스널컴퓨터(PC), 랩탑 컴퓨터, 울트라랩탑 컴퓨터, 태블릿, 터치패드, 이동식 컴퓨터, 휴대용 컴퓨터, 초소형 컴퓨터, 개인휴대단말기(PDA), 셀룰러전화기, 셀룰러 전화기/PDA 조합, 텔레비전, 스마트 장치(예컨대, 스마트폰, 스마트 태블릿 또는 스마트 텔레비전), 모바일 인터넷 장치(MID), 메시징 장치, 데이터 통신 장치 등에 통합될 수 있다.
실시예에서, 시스템(700)은 디스플레이(720)에 연결된 플랫폼(702)을 포함한다. 플랫폼(702)은 콘텐츠 서비스 장치(들)(730) 또는 콘텐츠 전달 장치(들)(740) 또는 다른 유사한 콘텐츠 소스 등의 콘텐츠 장치로부터 콘텐츠를 수신할 수 있다. 하나 이상의 내비게이션 특징을 포함하는 내비게이션 제어기(750)는, 예컨대, 플랫폼(702) 및/또는 디스플레이(720)와 상호작용하도록 사용될 수 있다. 이들 구성요소의 각각은 이하에 더 상세히 설명된다.
실시예에서, 플랫폼(702)은 칩셋(705), 프로세서(710), 메모리(712), 스토리지(714), 그래픽 서브시스템(715), 애플리케이션(716) 및/또는 무선부(718)의 임의의 조합을 포함할 수 있다. 칩셋(705)은 프로세서(710), 메모리(712), 스토리지(714), 그래픽 서브시스템(715), 애플리케이션(716) 및/또는 무선부(718) 사이에 상호통신을 제공할 수 있다. 예컨대, 칩셋(705)은 스토리지(714)와의 상호통신을 제공할 수 있는 스토리지 어댑터(도시하지 않음)를 포함할 수 있다.
프로세서(710)는 CISC(Complex Instruction Set Computer) 또는 RISC(Reduced Instruction Set Computer) 프로세서, x86 명령어 세트 호환성 프로세서, 멀티코어 또는 임의의 다른 마이크로프로세서 또는 중앙처리장치(CPU)로서 구현될 수 있다. 실시예에서, 프로세서(710)는 듀얼코어 프로세서(들), 듀얼코어 모바일 프로세서(들) 등을 포함할 수 있다.
메모리(712)는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static RAM) 등의 휘발성 메모리 장치로서 구현될 수 있지만, 이에 한정되지 않는다.
스토리지(714)는 자기 디스크 드라이브, 광 디스크 드라이브, 테이프 드라이브, 내부 스토리지 장치, 부착 스토리지 장치, 플래쉬 메모리, 배터리 백업 SDRAM(동기식 DRAM) 및/또는 네트워크 액세스 가능한 스토리지 장치 등의 비휘발성 스토리지 장치로서 구현될 수 있지만, 이에 한정되지 않는다. 실시예에서, 스토리지(714)는, 예컨대, 다수의 하드 드라이브가 포함되는 경우에 가치있는 디지털 매체에 대해 스토리지 성능 향상 보호를 증가시키는 기술을 포함할 수 있다.
그래픽 서브시스템(715)은 디스플레이를 위한 정지화면 또는 비디오 등의 이미지 처리를 수행할 수 있다. 그래픽 서브시스템(715)은, 예컨대, 그래픽 처리 유닛(GPU) 또는 비주얼 처리 유닛(VPU)일 수 있다. 아날로그 또는 디지털 인터페이스는 그래픽 서브시스템(715) 및 디스플레이(720)를 통신 가능하게 연결하는 데 사용될 수 있다. 예컨대, 인터페이스는 고화질 멀티미디어 인터페이스(HDMI), 디스플레이포트, 무선 HDMI 및/또는 무선 HD 규격 기술 중 임의의 것일 수 있다. 그래픽 서브시스템(715)은 프로세서(710) 또는 칩셋(705)에 통합될 수 있다. 그래픽 서브시스템(715)은 칩셋(705)에 통신 가능하게 연결된 독립형 카드일 수 있다.
여기에 기술된 그래픽 및/또는 비디오 처리 기술은 여러가지 하드웨어 구조로 구현될 수 있다. 예컨대, 그래픽 및/또는 비디오 기능은 칩셋 내에 통합될 수 있다. 이와 달리, 이산적 그래픽 및/또는 비디오 프로세서가 사용될 수 있다. 또 다른 실시예로서, 그래픽 및/또는 비디오 기능은 멀티코어 프로세서를 포함하여 범용 프로세서에 의해 구현될 수 있다. 다른 실시예에서, 그 기능은 소비자 전자 장치에 구현될 수 있다.
무선부(718)는 여러가지 적당한 무선 통신 기술을 이용하여 신호를 송신 및 수신할 수 있는 하나 이상의 무선부를 포함할 수 있다. 그러한 기술은 하나 이상의 무선 네트워크에 걸친 통신을 포함할 수 있다. 예시적인 무선 네트워크는 무선 근거리 네트워크(WLAN), 무선 개인 영역 네트워크(WPAN), 무선 도시 영역 네트워크(WMAN), 셀룰러 네트워크 및 위성 네트워크(이에 한정되지 않음)를 포함한다. 그러한 네트워크에 걸친 통신에서, 무선부(718)는 임의의 버전에서 하나 이상의 적용 가능한 표준에 따라 동작할 수 있다.
실시예에서, 디스플레이(720)는 임의의 텔레비전 타입의 모니터 또는 디스플레이를 포함할 수 있다. 디스플레이(720)는, 예컨대, 컴퓨터 디스플레이 화면, 터치스크린 디스플레이, 비디오 모니터, 텔레비전과 같은 장치, 및/또는 텔레비전을 포함할 수 있다. 디스플레이(720)는 디지털 및/또는 아날로그일 수 있다. 실시예에서, 디스플레이(720)는 홀로그래픽 디스플레이일 수 있다. 또한, 디스플레이(720)는 영상 투영을 수신할 수 있는 투명 표면일 수 있다. 그러한 투영은 다양한 형태의 정보, 이미지 및/또는 대상을 전달할 수 있다. 예컨대, 그러한 투영은 모바일 증강 현실(MAR) 애플리케이션에 대한 영상 오버레이(overlay)일 수 있다. 하나 이상의 소프트웨어 애플리케이션(716)의 제어 하에서, 플랫폼(702)은 디스플레이(720) 상에 사용자 인터페이스(722)를 표시할 수 있다.
실시예에서, 콘텐츠 서비스 장치(들)(730)는 임의의 국내, 국제 및/또는 독립적 서비스에 의해 관리될 수 있고, 따라서, 예컨대, 인터넷을 통해 플랫폼(702)에 액세스할 수 있다. 콘텐츠 서비스 장치(들)(730)는 플랫폼(702) 및/또는 디스플레이(720)에 연결될 수 있다. 플랫폼(702) 및/또는 콘텐츠 서비스 장치(들)(730)는 네트워크(760)로 및 네트워크(760)로부터 매체 정보를 통신(예컨대, 송신 및/또는 수신)하기 위해 네트워크(760)에 연결될 수 있다. 콘텐츠 전달 장치(들)(740)는 또한 플랫폼(702) 및/또는 디스플레이(720)에 연결될 수 있다.
실시예에서, 콘텐츠 서비스 장치(들)(730)는 케이블 텔레비전 박스, 퍼스널 컴퓨터, 네트워크, 전화, 인터넷 가능 장치 또는 디지털 정보 및/또는 콘텐츠를 전달할 수 있는 기기 및 네트워크(760)를 통해 또는 직접 콘텐츠 공급자와 플랫폼(702) 및 디스플레이(720) 사이에서 일방 또는 양방향으로 콘텐츠를 통신할 수 있는 임의의 다른 유사한 장치를 포함할 수 있다. 콘텐츠는 네트워크(760)를 통해 시스템(700)의 임의의 하나의 구성요소 및 콘텐츠 공급자로 및 그로부터 일방 및/또는 양방향으로 통신될 수 있음이 이해될 것이다. 콘텐츠의 예는, 예컨대, 비디오, 음악, 의학 및 게임 정보 등을 포함하는 임의의 미디어 정보를 포함할 수 있다.
콘텐츠 서비스 장치(들)(730)는 미디어 정보, 디지털 정보 및 또는 다른 콘텐츠를 포함하는 케이블 텔레비전 프로그래밍 등의 콘텐츠를 수신한다. 콘텐츠 공급자의 예는 임의의 케이블 또는 위성 텔레비전 또는 무선 또는 인터넷 콘텐츠 공급자를 포함할 수 있다. 제공된 예는 본 발명의 실시예를 제한하는 것을 의미하는 것이 아니다.
실시예에서, 플랫폼(702)은 하나 이상의 내비게이션 특징을 갖는 내비게이션 제어기(750)로부터 제어 신호를 수신할 수 있다. 제어기(750)의 내비게이션 특징은 예컨대, 사용자 인터페이스(722)와 상호작용하도록 사용될 수 있다. 실시예에서, 내비게이션 제어기(750)는 사용자가 공간적(예컨대, 연속적 및 다차원) 데이터를 컴퓨터로 입력할 수 있게 하는 컴퓨터 하드웨어 구성요소(특히 인간 인터페이스 장치)일 수 있는 포인팅 장치일 수 있다. 그래픽 사용자 인터페이스(GUI) 등의 많은 시스템 및 텔레비전 및 모니터는 사용자가 데이터를 제어하고 물리적 제스쳐를 이용하여 컴퓨터 또는 텔레비전에 제공할 수 있게 한다.
제어기(750)의 내비게이션 특징의 이동은 포인터, 커서, 포커스 링 또는 디스플레이에 표시된 다른 시각적 표시자의 움직임에 의해 디스플레이(예컨대, 디스플레이(720)) 상에 반향을 보일 수 있다. 예컨대, 소프트웨어 애플리케이션(716)의 제어 하에서, 내비게이션 제어기(750)에 배치된 내비게이션 특징은, 예컨대, 사용자 인터페이스(722)에 표시된 가상 내비게이션 특징에 맵핑될 수 있다. 실시예에서, 제어기(750)는 개별 구성요소가 아닐 수 있지만, 플랫폼(702) 및/또는 디스플레이(720)에 통합될 수 있다. 그러나 실시예는 여기에 도시 또는 설명된 구성요소에 또는 맥락에 한정되는 것이 아니다.
실시예에서, 드라이버(도시되지 않음)는 사용자가, 예컨대, 인에이블될 때 초기 시동 후에 버튼의 터치에 의해 텔레비전과 같은 플랫폼(702)을 즉시 켜고 끌 수 있게 하는 기술을 포함할 수 있다. 프로그램 로직은, 플랫폼이 "꺼졌을" 때, 플랫폼(702)이 미디어 어댑터 또는 다른 콘텐츠 서비스 장치(들)(730) 또는 콘텐츠 전달 장치(들)(740)로 콘텐츠를 스트리밍하게 할 수 있다. 부가하여, 칩셋(705)은, 예컨대, 5.1 서라운드 사운드 오디오 및/또는 고화질 7.1 서라운드 사운드 오디오에 대해 하드웨어 및/또는 소프트웨어 지원을 포함할 수 있다. 드라이버는 통합된 그래픽 플랫폼에 대한 그래픽 드라이버를 포함할 수 있다. 실시예에서, 그래픽 드라이버는 PCI(peripheral component interconnect) 익스프레스 그래픽 카드를 포함할 수 있다.
여러가지 실시예에서, 시스템(700)에 도시된 임의의 하나 이상의 구성요소가 통합될 수 있다. 예컨대, 플랫폼(702) 및 콘텐츠 서비스 장치(들)(730)가 통합될 수 있고, 또는 플랫폼(702) 및 콘텐츠 전달 장치(들)(740)가 통합될 수 있고, 또는 예컨대, 플랫폼(702), 콘텐츠 서비스 장치(들)(730) 및 콘텐츠 전달 장치(들)(740)가 통합될 수 있다. 여러가지 실시예에서, 플랫폼(702) 및 디스플레이(720)는 통합 유닛일 수 있다. 디스플레이(720) 및 콘텐츠 서비스 장치(들)(730)가 통합될 수 있고, 또는 예컨대, 디스플레이(720) 및 콘텐츠 전달 장치(들)(740)가 통합될 수 있다. 이들 예는 본 발명에 한정되도록 의도되지 않는다.
여러가지 실시예에서, 시스템(700)은 무선 시스템, 유선 시스템 또는 그 조합으로 구현될 수 있다. 무선 시스템으로 구현되는 경우, 시스템(700)은, 하나 이상의 안테나, 송신기, 수신기, 송수신기, 증폭기, 필터, 제어 로직 등의, 무선 공유 매체를 통해 통신하기에 적합한 구성요소 및 인터페이스를 포함할 수 있다. 무선 공유 매체의 일례는 RF 스펙트럼 등의 무선 스펙트럼의 일부를 포함할 수 있다. 유선 시스템으로 구현되는 경우, 시스템(700)은, 입력/출력(I/O) 어댑터, I/O 어댑터를 대응하는 유선 통신 매체와 접속하는 물리적 커넥터, 네트워크 인터페이스 카드(NIC), 디스크 제어기, 비디오 제어기, 오디오 제어기 등의 유선 통신 매체를 통해 통신하기에 적합한 구성요소 및 인터페이스를 포함할 수 있다. 유선 통신 매체의 예는 와이어, 케이블, 금속선, 인쇄회로기판(PCB), 백플레인, 스위치 패브릭, 반도체 재료, 꼬임쌍선 케이블, 동축 케이블, 광 섬유 등을 포함할 수 있다.
플랫폼(702)은 정보를 통신하기 위해 하나 이상의 논리적 또는 물리적 채널을 수립할 수 있다. 정보는 매체 정보 및 제어 정보를 포함할 수 있다. 매체 정보는 사용자에게 의미가 있는 콘텐츠를 나타내는 임의의 데이터를 가리킬 수 있다. 콘텐츠의 예는, 예컨대, 음성 대화, 화상회의, 스트리밍 비디오, 전자 메일("이메일") 메시지, 음성 메일 메시지, 영숫자 심볼, 그래픽, 이미지, 비디오, 텍스트 등으로부터의 데이터를 포함할 수 있다. 음성 대화로부터의 데이터는, 예컨대, 스피치 정보, 침묵 기간, 배경 소음, 컴포트노이즈, 톤 등일 수 있다. 제어 정보는 자동화 시스템에 의미있는 커맨드, 명령어 또는 제어 워드를 나타내는 임의의 데이터를 가리킬 수 있다. 예컨대, 제어 정보는 시스템을 통해 매체 정보를 라우팅하거나, 노드가 사전 결정된 방식으로 매체 정보를 처리하도록 명령어하는 데 사용될 수 있다. 그러나, 실시예는 도 8에 도시 또는 설명된 구성요소 또는 맥락에 제한되지 않는다.
상술한 바와 같이, 시스템(700)은 다양한 물리적 스타일 또는 폼팩터로 구현될 수 있다. 도 9는 시스템(700)이 구현될 수 있는 소형 폼팩터 장치(800)의 실시예를 나타낸다. 실시예에서, 예컨대, 장치(800)는 무선 기능을 갖는 모바일 컴퓨팅 장치로서 구현될 수 있다. 모바일 컴퓨팅 장치는 프로세싱 시스템, 및 예컨대, 하나 이상의 배터리 등의 모바일 전원 또는 공급장치를 갖는 임의의 장치를 가리킬 수 있다.
상술한 바와 같이, 모바일 컴퓨팅 장치의 예는 퍼스널 컴퓨터(PC), 랩탑 컴퓨터, 울트라랩탑 컴퓨터, 태블릿, 터치패드, 이동식 컴퓨터, 휴대용 컴퓨터, 초소형 컴퓨터, 개인휴대단말기(PDA), 셀룰러전화기, 셀룰러 전화기/PDA 조합, 텔레비전, 스마트 장치(예컨대, 스마트폰, 스마트 태블릿 또는 스마트 텔레비전), 모바일 인터넷 장치(MID), 메시징 장치, 데이터 통신 장치 등을 포함할 수 있다.
모바일 컴퓨팅 장치의 예는 또한 손목 컴퓨터(wrist computer), 손가락 컴퓨터, 링형 컴퓨터, 안경형 컴퓨터, 벨트클립형 컴퓨터, 암밴드 컴퓨터, 신발 컴퓨터, 의류 컴퓨터 및 다른 착용 가능 컴퓨터 등의 사람이 착용하도록 구성되는 컴퓨터를 포함할 수 있다. 실시예에서, 예컨대, 모바일 컴퓨팅 장치는 음성 통신 및/또는 데이터 통신과 마찬가지로 컴퓨터 애플리케이션을 실행할 수 있는 스마트폰으로 구현될 수 있다. 일부 실시예는 예로서 스마트폰으로 구현된 모바일 컴퓨팅 장치로 설명될 수 있지만, 마찬가지로 다른 실시예가 다른 무선 모바일 컴퓨팅 장치를 이용하여 구현될 수 있음이 이해될 것이다. 실시예는 이 맥락에 한정되지 않는다.
도 9에 도시된 바와 같이, 장치(800)는 하우징(802), 디스플레이(804), 입력/출력(I/O) 장치(806) 및 안테나(808)를 포함할 수 있다. 장치(800)는 또한 내비게이션 특징(812)을 포함할 수 있다. 디스플레이(804)는 모바일 컴퓨팅 장치에 적절한 정보를 표시하기 위한 임의의 적당한 디스플레이 유닛을 포함할 수 있다. I/O 장치(806)는 모바일 컴퓨팅 장치로 정보를 입력하기 위한 임의의 적합한 I/O 장치를 포함할 수 있다. I/O 장치(806)에 대한 예는 영숫자 키보드, 숫자 키보드, 터치패드, 입력 키, 버튼, 스위치, 로커 스위치(rocker switch), 마이크, 스피커, 음성 인식 장치 및 소프트웨어 등을 포함할 수 있다. 정보는 또한 마이크에 의해 장치(800)로 입력될 수 있다. 그러한 정보는 음성 인식 장치에 의해 디지털화될 수 있다. 실시예는 이 맥락에 한정되지 않는다.
여러가지 실시예는, 하드웨어 요소, 소프트웨어 요소 또는 그 조합을 이용하여 구현될 수 있다. 하드웨어 요소의 예는 프로세서, 마이크로프로세서, 회로, 회로 소자(예컨대, 트랜지스터, 저항, 캐패시터, 인덕터 등), 집적회로, 주문형 반도체(ASIC), 프로그래머블 로직 장치(PLD), 디지털 신호처리장치(DSP), 필드 프로그래머블 게이트 어레이(FPGA), 로직 게이트, 레지스터, 반도체 장치, 칩, 마이크로칩, 칩셋 등을 포함할 수 있다. 소프트웨어의 예는 소프트웨어 구성요소, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 머신 프로그램, 운영 시스템 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 방법, 프로시저, 소프트웨어 인터페이스, 애플리케이션 프로그램 인터페이스(API), 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 워드, 값, 기호 또는 임의의 그들 조합을 포함할 수 있다. 실시예가 하드웨어 요소 및/또는 소프트웨어 요소를 이용하여 구현되는지 여부를 결정하는 것은, 바람직한 계산 속도, 전력 레벨, 내열성, 처리 사이클 예산, 입력 데이터 속도, 출력 데이터 속도, 메모리 리소스, 데이터 버스 속도 및 다른 설계 또는 성능 제한 등의 임의의 다수의 요인에 따라 달라질 수 있다.
적어도 하나의 실시예의 하나 이상의 국면은 프로세서 내의 여러가지 로직을 나타내는 머신 판독 가능한 매체에 저장된 대표적 명령어에 의해 구현될 수 있고, 이는, 머신에 의해 판독될 때, 머신이 여기에 설명된 기술을 수행하는 로직을 제조하게 할 수 있다. "IP 코어"로 알려진 그러한 표현은 유형적이고 머신 판독 가능한 매체에 저장될 수 있고, 여러 소비자 또는 로직 또는 프로세서를 실제로 만드는 제조 머신로 로드하기 위한 제조 시설로 공급될 수 있다.
따라서 여기에 설명된 기술은 최적의 시각적 지각 품질 및 시청 경험을 전달하기 위해 소비자 비디오 파이프라인의 실시간 동작 및 동작 파이프라인의 동적 업데이트 모두를 보장하는 피드포워드 시스템(feed forward system)을 제공할 수 있다. 특히, 비디오 파이프라인에 대한 이산적 제어 시스템은 비디오의 지각 품질에 관련되는 상호작용 구성요소 모듈의 전반적인 구성을 최적화하기 위해 동작 지점을 동적으로 구성할 수 있다. 일련의 구성에서, 지각 품질 분석 모듈은 비디오 처리 파이프라인 이전에 배치될 수 있고, 후처리 파이프라인에 대해 결정된 파라미터는 동일한 프레임에 대해 사용될 수 있다. 품질 분석 블럭의 분산 계산의 경우 또는 지각 품질 분석이 파이프라인의 중간 지점에서 수행될 필요가 있는 경우, 주어진 프레임을 이용하여 결정된 파라미터는 실시간 동작을 보장하기 위해 다음 프레임에 적용될 수 있다. 지각 품질 계산에 대한 임의의 요소가 후처리 파이프라인에서 이미 계산될 수 있고 재사용될 수 있기 때문에, 분산 계산은 때때로 복잡도를 감소시키는 데 유익하다. 도시된 방식은 또한, 지각 품질 분석이 출력 품질을 추정하기 위해 비디오 처리 파이프라인의 출력에서 재사용되는 경우 폐루프 제어와 호환될 수 있고, 이는 제어 메커니즘에 의해 사용된다.
본 발명의 실시예는 모든 타입의 반도체 집적 회로("IC")칩에 의한 사용에 적용 가능하다. 이들 IC 칩의 예는 프로세서, 제어기, 칩셋 구성요소, 프로그래머블 로직 어레이(PLA), 메모리 칩, 네트워크 칩 등을 포함하지만 이에 한정되지 않는다. 부가하여, 일부 도면에서, 신호 컨덕터선이 선으로 표현된다. 일부는, 더 많은 구성요소 신호 경로를 나타내기 위해 다를 수 있고, 다수의 구성요소 신호 경로를 나타내기 위해 번호 라벨을 갖고, 및/또는, 주요 정보 흐름 방향을 나타내기 위해 하나 이상의 단에서 화살표를 가질 수 있다. 그러나, 이것은 제한하는 방식으로 해석되어서는 안될 것이다. 오히려, 회로의 이해를 더 쉽게 하기 위해 그러한 부가된 세부사항이 하나 이상의 예시적 실시예와 연결지어 사용될 수 있다. 부가 정보를 가지고 있든 아니든, 임의의 표현된 신호선은 실제로 다수의 방향으로 이동할 수 있는 하나 이상의 신호를 포함할 수 있고, 임의의 적당한 타입의 신호 방식으로, 예컨대, 차동 쌍, 광 섬유 선 및/또는 싱글엔드형 선(single-ended line)으로 구현된 디지털 또는 아날로그 선으로 구현될 수 있다.
본 발명의 실시예가 이러한 것에 한정되지는 않지만, 예시적 사이즈/모델/값/범위가 주어질 수 있다. 제조 기술(예컨대, 포토리소그래피)이 시간 경과에 따라 발달하기 때문에, 더 작은 사이즈의 장치가 제조될 수 있는 것이 예상된다. 부가하여, IC 칩 및 다른 구성요소에 대한 공지의 전력/접지 접속은, 도시 및 논의의 간략화를 위해, 그리고 본 발명의 실시예의 임의의 국면을 모호하게 하지 않도록 하기 위해, 도면에 도시될 수 있고 또는 도시되지 않을 수 있다. 또한, 본 발명의 실시예를 모호하게 하는 것을 피하기 위해, 그리고, 그러한 블록도 구성의 구현에 관한 특정이 실시예가 구현될 플랫폼에 크게 의존하는, 즉, 그러한 특정은 당업자의 권한 내에 있을 것이라는 점을 고려하여, 구성이 블록도 형태로 도시될 수 있다. 특정 세부사항(예컨대, 회로)이 본 발명의 예시적 실시예를 설명하기 위해 언급되는 경우, 본 발명의 실시예가 이들 특정 세부사항 없이 또는 이들 특정 세부사항을 변경하여 실시될 수 있음이 당업자에게 명백할 것이다. 따라서 명세서는 제한적인 것이 아니라 예시적인 것으로 간주되어야 한다.
일부 실시예는, 예컨대, 머신에 의해 실행되면, 머신이 실시예에 따른 방법 및/또는 동작을 수행하게 할 수 있는 명령어 또는 명령어의 세트를 저장할 수 있는 머신 또는 유형의 컴퓨터 판독 가능한 매체 또는 물품을 이용하여 구현될 수 있다. 그러한 머신은, 예컨대, 임의의 적합한 프로세싱 플랫폼, 컴퓨팅 플랫폼, 컴퓨팅 장치, 프로세싱 장치, 컴퓨팅 시스템, 프로세싱 시스템, 컴퓨터, 프로세서 등을 포함할 수 있고, 하드웨어 및/또는 소프트웨어의 임의의 적당한 조합을 이용하여 구현될 수 있다. 머신 판독 가능한 매체 또는 물품은, 예컨대, 메모리 유닛, 메모리 장치, 메모리 물품, 메모리 매체, 스토리지 장치, 스토리지 물품, 스토리지 매체 및/또는 스토리지 유닛의 임의의 적당한 타입과, 예컨대, 메모리, 착탈 가능한 또는 불가능한 매체, 소거 가능한 또는 불가능한 매체, 기록 가능한 또는 재기록 가능한 매체, 디지털 또는 아날로그 매체, 하드 디스크, 플로피 디스크, 컴팩트 디스크 판독 전용 메모리(CD-ROM), 기록 가능한 컴팩트 디스크(CD-R), 재기록 가능한 컴팩트 디스크(CD-RW), 광 디스크, 자기 매체, 자기-광 매체, 소거 가능한 메모리 카드 또는 디스크, 여러가지 타입의 디지털 다기능 디스크(DVD), 테이프, 카세트 등을 포함할 수 있다. 명령어는, 임의의 적당한 고 레벨, 저 레벨, 객체 지향, 시각적, 컴파일 및/또는 해석 프로그래밍 언어를 이용하여 구현된, 소스 코드, 컴파일 코드, 해석 코드, 실행 가능 코드, 정적 코드, 동적 코드, 암호화 코드 등의 임의의 적당한 타입의 코드를 포함할 수 있다.
특별히 다르게 언급되지 않으면, "처리하는", "계산하는", "연산하는", "결정하는" 등의 용어는 컴퓨팅 시스템의 레지스터 및/또는 메모리 내의 물리적 양(예컨대, 전자적)으로서 표현된 데이터를 조작, 및/또는 컴퓨팅 시스템의 메모리, 레지스터 또는 다른 그러한 정보 스토리지, 송신 또는 디스플레이 장치 내의 물리적 양으로서 표현된 다른 데이터로 변환하는 컴퓨터 또는 컴퓨팅 시스템 또는 유사한 전자적 컴퓨팅 장치의 동작 및/또는 프로세스를 가리킨다. 실시예는 이 맥락에 한정되지 않는다.
용어 "연결된"은 문제의 구성요소 사이에서 직접 또는 간접적인 임의의 타입의 관계를 가리키기 위해 여기서 사용될 수 있고, 전기적, 머신적, 유동적, 광학적, 전자기적, 전기 머신적 또는 다른 접속에 적용할 수 있다. 부가하여, 여기서 용어 "제 1", "제 2" 등은 단지 논의를 용이하게 하기 위해서 사용될 수 있고, 달리 표시되어 있지 않는 한, 특정 시간적 또는 연대순의 의미가 있는 것이 아니다.
당업자는 본 발명의 실시예의 광범위한 기술이 다양한 형태로 구현될 수 있음을 상기의 설명으로부터 인식할 것이다. 따라서, 본 발명의 실시예가 그 특정 예와 연관되어 설명되었지만, 도면, 명세서 및 다음의 청구범위의 학습에 의해 다른 수정예가 당업자에게 명백해질 것이기 때문에, 본 발명의 실시예의 참된 범위는 그렇게 한정되지 않아야 한다.

Claims (24)

  1. 컴퓨터로 구현되는 메모리 제어기 동작 방법으로서,
    움직임 보상 모듈로부터 기입 요청을 수신하는 단계 - 상기 기입 요청은 비디오 데이터를 포함함 - 와,
    압축된 데이터를 얻기 위해 상기 비디오 데이터의 압축을 수행하는 단계 - 상기 비디오 데이터의 상기 압축은 상기 움직임 보상 모듈에 대해 투명(transparent)함 - 와,
    상기 압축된 데이터를 하나 이상의 메모리 칩에 저장하는 단계와,
    판독 요청을 수신하는 단계와,
    상기 판독 요청에 응답하여 상기 하나 이상의 메모리 칩 중 적어도 하나의 메모리 칩에서 저장된 데이터를 검색(retrieving)하는 단계와,
    압축해제된 데이터를 얻기 위해 상기 저장된 데이터의 압축해제를 수행하는 단계를 포함하는
    메모리 제어기 동작 방법.
  2. 제 1 항에 있어서,
    상기 판독 요청은 상기 움직임 보상 모듈로부터 수신되고,
    상기 방법은 상기 움직임 보상 모듈로 상기 압축해제된 데이터를 전송하는 단계를 더 포함하고,
    상기 저장된 데이터의 상기 압축해제는 상기 움직임 보상 모듈에 대해 투명한
    메모리 제어기 동작 방법.
  3. 제 1 항에 있어서,
    상기 판독 요청은 디스플레이 제어기로부터 수신되고,
    상기 방법은 상기 디스플레이 제어기로 상기 압축해제된 데이터를 전송하는 단계를 더 포함하고,
    상기 저장된 데이터의 상기 압축해제는 상기 디스플레이 제어기에 대해 투명한
    메모리 제어기 동작 방법.
  4. 제 1 항에 있어서,
    상기 비디오 데이터의 상기 압축 및 상기 저장된 데이터의 상기 압축해제를 수행하기 위해, 차동 펄스 코드 변조 프로세스 및 허프만 프로세스(Huffman precess) 중 하나 이상을 이용하는 단계를 더 포함하는
    메모리 제어기 동작 방법.
  5. 압축 모듈을 포함하는 메모리 제어기로서,
    상기 압축 모듈은,
    움직임 보상 모듈로부터 기입 요청을 수신 - 상기 기입 요청은 비디오 데이터를 포함함 - 하고,
    압축된 데이터를 얻기 위해 상기 비디오 데이터의 압축을 수행하고,
    하나 이상의 메모리 칩으로 상기 압축된 데이터를 저장하는
    메모리 제어기.
  6. 제 5 항에 있어서,
    상기 비디오 데이터의 상기 압축은 상기 움직임 보상 모듈에 대해 투명한
    메모리 제어기.
  7. 제 5 항에 있어서,
    상기 메모리 제어기는 압축해제 모듈을 더 포함하고,
    상기 압축해제 모듈은,
    판독 요청을 수신하고,
    상기 판독 요청에 응답하여 상기 하나 이상의 메모리 칩 중 적어도 하나의 메모리 칩에서 저장된 데이터를 검색하고,
    압축해제된 데이터를 얻기 위해 상기 저장된 데이터의 압축해제를 수행하는
    메모리 제어기.
  8. 제 7 항에 있어서,
    상기 판독 요청은 상기 움직임 보상 모듈로부터 수신되고,
    상기 압축해제 모듈은 상기 압축해제된 데이터를 상기 움직임 보상 모듈로 전송하며,
    상기 저장된 데이터의 상기 압축해제는 상기 움직임 보상 모듈에 대해 투명한 것인
    메모리 제어기.
  9. 제 7 항에 있어서,
    상기 판독 요청은 디스플레이 제어기로부터 수신되고,
    상기 압축해제 모듈은 상기 압축해제된 데이터를 상기 디스플레이 제어기로 전송하며,
    상기 저장된 데이터의 상기 압축해제는 상기 디스플레이 제어기에 대해 투명한
    메모리 제어기.
  10. 제 5 항에 있어서,
    상기 메모리 제어기는 상기 하나 이상의 메모리 칩 이외의 칩에 존재하는
    메모리 제어기.
  11. 제 10 항에 있어서,
    상기 하나 이상의 메모리 칩 이외의 칩은 상기 움직임 보상 모듈을 포함하는
    메모리 제어기.
  12. 제 5 항에 있어서,
    상기 압축 모듈은 상기 비디오 데이터의 상기 압축을 수행하기 위해 차동 펄스 코드 변조 프로세스 및 허프만 프로세스 중 하나 이상을 이용하는
    메모리 제어기.
  13. 시스템으로서,
    디스플레이와,
    하나 이상의 메모리 칩과,
    움직임 보상 모듈 및 메모리 제어기를 포함하는 프로세서 칩을 포함하고,
    상기 메모리 제어기는,
    상기 움직임 보상 모듈로부터 기입 요청을 수신 - 상기 기입 요청은 비디오 데이터를 포함함 - 하고,
    압축된 데이터를 얻기 위해 상기 비디오 데이터의 압축을 수행하고,
    상기 하나 이상의 메모리 칩 중 적어도 하나의 메모리 칩에 상기 압축된 데이터를 저장하는 압축 모듈을 갖는
    시스템.
  14. 제 13 항에 있어서,
    상기 비디오 데이터의 상기 압축은 상기 움직임 보상 모듈에 대해 투명한
    시스템.
  15. 제 13 항에 있어서,
    상기 메모리 제어기는 압축해제 모듈을 더 포함하고,
    상기 압축해제 모듈은,
    판독 요청을 수신하고,
    상기 하나 이상의 메모리 칩 중 적어도 하나의 메모리 칩에서 저장된 데이터를 검색하고,
    압축해제된 데이터를 얻기 위해 상기 저장된 데이터의 압축해제를 수행하는
    시스템.
  16. 제 15 항에 있어서,
    상기 판독 요청은 상기 움직임 보상 모듈로부터 수신되고,
    상기 압축해제 모듈은 상기 움직임 보상 모듈로 상기 압축해제된 데이터를 전송하고,
    상기 저장된 데이터의 상기 압축해제는 상기 움직임 보상 모듈에 대해 투명한
    시스템.
  17. 제 15 항에 있어서,
    상기 시스템은 상기 디스플레이 및 상기 프로세서 칩에 연결된 디스플레이 제어기를 더 포함하고,
    상기 판독 요청은 상기 디스플레이 제어기로부터 수신되고,
    상기 압축해제 모듈은 상기 디스플레이 제어기로 상기 압축해제된 데이터를 전송하고,
    상기 저장된 데이터의 상기 압축해제는 상기 디스플레이 제어기에 대해 투명한
    시스템.
  18. 제 13 항에 있어서,
    상기 압축 모듈은 상기 비디오 데이터의 압축을 수행하기 위해 차동 펄스 코드 변조 프로세스 및 허프만 프로세스 중 하나 이상을 이용하는
    시스템.
  19. 컴퓨터로 구현되는 메모리 제어기 동작 방법으로서,
    움직임 보상 모듈로부터 기입 요청을 수신하는 단계 - 상기 기입 요청은 비디오 데이터를 포함함 - 와,
    압축된 데이터를 얻기 위해 상기 비디오 데이터의 압축을 수행하는 단계와,
    상기 압축된 데이터를 하나 이상의 메모리 칩에 저장하는 단계를 포함하는
    메모리 제어기 동작 방법.
  20. 제 19 항에 있어서,
    상기 비디오 데이터의 상기 압축은 상기 움직임 보상 모듈에 대해 투명한
    메모리 제어기 동작 방법.
  21. 제 19 항에 있어서,
    판독 요청을 수신하는 단계와,
    상기 판독 요청에 응답하여 상기 하나 이상의 메모리 칩 중 적어도 하나의 메모리 칩에서 저장된 데이터를 검색하는 단계와,
    압축해제된 데이터를 얻기 위해 상기 저장된 데이터의 압축해제를 수행하는 단계를 더 포함하는
    메모리 제어기 동작 방법.
  22. 제 21 항에 있어서,
    상기 판독 요청은 상기 움직임 보상 모듈로부터 수신되고,
    상기 방법은 상기 움직임 보상 모듈로 상기 압축해제된 데이터를 전송하는 단계를 더 포함하고,
    상기 저장된 데이터의 상기 압축해제는 상기 움직임 보상 모듈에 대해 투명한
    메모리 제어기 동작 방법.
  23. 제 21 항에 있어서,
    상기 판독 요청은 디스플레이 제어기로부터 수신되고,
    상기 방법은 상기 디스플레이 제어기로 상기 압축해제된 데이터를 전송하는 단계를 더 포함하고,
    상기 저장된 데이터의 상기 압축해제는 상기 디스플레이 제어기에 대해 투명한
    메모리 제어기 동작 방법.
  24. 제 19 항에 있어서,
    상기 비디오 데이터의 상기 압축을 수행하기 위해, 차동 펄스 코드 변조 프로세스 및 허프만 프로세스 중 하나 이상을 이용하는 단계를 더 포함하는
    메모리 제어기 동작 방법.
KR1020157017371A 2011-12-21 2011-12-21 움직임 보상 및 디스플레이 리프레시의 전력 소모를 감소시키는 dram 압축 방안 KR20150081373A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/066556 WO2013095448A1 (en) 2011-12-21 2011-12-21 Dram compression scheme to reduce power consumption in motion compensation and display refresh

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020147016821A Division KR101605047B1 (ko) 2011-12-21 2011-12-21 움직임 보상 및 디스플레이 리프레시의 전력 소모를 감소시키는 dram 압축 방안

Publications (1)

Publication Number Publication Date
KR20150081373A true KR20150081373A (ko) 2015-07-13

Family

ID=48638976

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020157017371A KR20150081373A (ko) 2011-12-21 2011-12-21 움직임 보상 및 디스플레이 리프레시의 전력 소모를 감소시키는 dram 압축 방안
KR1020147016821A KR101605047B1 (ko) 2011-12-21 2011-12-21 움직임 보상 및 디스플레이 리프레시의 전력 소모를 감소시키는 dram 압축 방안

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020147016821A KR101605047B1 (ko) 2011-12-21 2011-12-21 움직임 보상 및 디스플레이 리프레시의 전력 소모를 감소시키는 dram 압축 방안

Country Status (9)

Country Link
US (1) US9268723B2 (ko)
EP (1) EP2795896A4 (ko)
JP (1) JP5639144B2 (ko)
KR (2) KR20150081373A (ko)
CN (1) CN103179393B (ko)
IN (1) IN2014CN03371A (ko)
RU (1) RU2599959C2 (ko)
TW (1) TWI524326B (ko)
WO (1) WO2013095448A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013095448A1 (en) 2011-12-21 2013-06-27 Intel Corporationu Dram compression scheme to reduce power consumption in motion compensation and display refresh
US20140355665A1 (en) * 2013-05-31 2014-12-04 Altera Corporation Adaptive Video Reference Frame Compression with Control Elements
US20150121111A1 (en) * 2013-10-24 2015-04-30 Qualcomm Incorporated System and method for providing multi-user power saving codebook optmization
US9864536B2 (en) 2013-10-24 2018-01-09 Qualcomm Incorporated System and method for conserving power consumption in a memory system
US10080028B2 (en) 2014-11-26 2018-09-18 Samsung Display Co., Ltd. System and method of compensating for image compression errors
KR102373544B1 (ko) 2015-11-06 2022-03-11 삼성전자주식회사 요청 기반의 리프레쉬를 수행하는 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법
US9721640B2 (en) * 2015-12-09 2017-08-01 Intel Corporation Performance of additional refresh operations during self-refresh mode
US10168909B1 (en) * 2016-03-29 2019-01-01 Amazon Technologies, Inc. Compression hardware acceleration
CN110457235B (zh) * 2019-08-20 2021-10-08 Oppo广东移动通信有限公司 内存压缩方法、装置、终端及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW224553B (en) * 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
JPH08116539A (ja) 1994-10-17 1996-05-07 Hitachi Ltd 動画像符号化装置と動画像符号化方法
US5812791A (en) * 1995-05-10 1998-09-22 Cagent Technologies, Inc. Multiple sequence MPEG decoder
US5847762A (en) 1995-12-27 1998-12-08 Thomson Consumer Electronics, Inc. MPEG system which decompresses and then recompresses MPEG video data before storing said recompressed MPEG video data into memory
US5668599A (en) * 1996-03-19 1997-09-16 International Business Machines Corporation Memory management for an MPEG2 compliant decoder
US6157740A (en) * 1997-11-17 2000-12-05 International Business Machines Corporation Compression/decompression engine for enhanced memory storage in MPEG decoder
US6278735B1 (en) 1998-03-19 2001-08-21 International Business Machines Corporation Real-time single pass variable bit rate control strategy and encoder
US6628714B1 (en) * 1998-12-18 2003-09-30 Zenith Electronics Corporation Down converting MPEG encoded high definition sequences to lower resolution with reduced memory in decoder loop
US6510178B1 (en) * 1999-12-15 2003-01-21 Zenith Electronics Corporation Compensating for drift in the down conversion of high definition sequences to lower resolution sequences
US20020176507A1 (en) * 2001-03-26 2002-11-28 Mediatek Inc. Method and an apparatus for reordering a decoded picture sequence using virtual picture
KR100598093B1 (ko) * 2003-01-29 2006-07-07 삼성전자주식회사 낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법
KR100771401B1 (ko) * 2005-08-01 2007-10-30 (주)펄서스 테크놀러지 프로그래머블 프로세서에서 mpeg-2 또는 mpeg-4aac 오디오 복호 알고리즘을 처리하기 위한 연산 회로및 연산 방법
JP4384130B2 (ja) * 2006-03-28 2009-12-16 株式会社東芝 動画像復号方法及び装置
JP5245794B2 (ja) 2008-12-15 2013-07-24 富士通株式会社 画像処理装置および方法
JP5504885B2 (ja) 2009-12-25 2014-05-28 富士通株式会社 画像処理装置および画像処理方法
WO2013095448A1 (en) 2011-12-21 2013-06-27 Intel Corporationu Dram compression scheme to reduce power consumption in motion compensation and display refresh

Also Published As

Publication number Publication date
KR101605047B1 (ko) 2016-03-21
IN2014CN03371A (ko) 2015-07-03
CN103179393A (zh) 2013-06-26
RU2599959C2 (ru) 2016-10-20
JP5639144B2 (ja) 2014-12-10
KR20140099501A (ko) 2014-08-12
US9268723B2 (en) 2016-02-23
CN103179393B (zh) 2016-08-24
EP2795896A4 (en) 2015-05-20
JP2013132056A (ja) 2013-07-04
TW201404158A (zh) 2014-01-16
EP2795896A1 (en) 2014-10-29
RU2014126348A (ru) 2016-01-27
TWI524326B (zh) 2016-03-01
US20140204105A1 (en) 2014-07-24
WO2013095448A1 (en) 2013-06-27

Similar Documents

Publication Publication Date Title
KR101605047B1 (ko) 움직임 보상 및 디스플레이 리프레시의 전력 소모를 감소시키는 dram 압축 방안
TWI513316B (zh) 轉碼視頻資料之技術
US9524536B2 (en) Compression techniques for dynamically-generated graphics resources
US9832247B2 (en) Processing video data in a cloud
JP6242029B2 (ja) 低電力画像圧縮及び表示のための技術
US9591358B2 (en) Media playback workload scheduler
US10045079B2 (en) Exposing media processing features
WO2014094211A1 (en) Embedding thumbnail information into video streams
JP5870145B2 (ja) カラーバッファ圧縮
US9538208B2 (en) Hardware accelerated distributed transcoding of video clips
US20140003789A1 (en) Playback of video content based on frame-level ratings
WO2017143522A1 (en) Graphics processor workload acceleration using a command template for batch usage scenarios
US9351011B2 (en) Video pipeline with direct linkage between decoding and post processing
JP6240139B2 (ja) 非圧縮ビデオ相互接続で伝送される画像データの知覚的な損失のない圧縮
JP5841268B2 (ja) 非圧縮ビデオ相互接続で伝送される画像データの知覚的な損失のない圧縮
US10158851B2 (en) Techniques for improved graphics encoding

Legal Events

Date Code Title Description
A107 Divisional application of patent
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid