KR20090085628A - 전자 정보의 효과적 인코딩 및 디코딩을 위한 시스템 및 방법 - Google Patents

전자 정보의 효과적 인코딩 및 디코딩을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20090085628A
KR20090085628A KR1020097010208A KR20097010208A KR20090085628A KR 20090085628 A KR20090085628 A KR 20090085628A KR 1020097010208 A KR1020097010208 A KR 1020097010208A KR 20097010208 A KR20097010208 A KR 20097010208A KR 20090085628 A KR20090085628 A KR 20090085628A
Authority
KR
South Korea
Prior art keywords
data
encoder
encoding
tiles
entropy
Prior art date
Application number
KR1020097010208A
Other languages
English (en)
Other versions
KR101365869B1 (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 KR20090085628A publication Critical patent/KR20090085628A/ko
Application granted granted Critical
Publication of KR101365869B1 publication Critical patent/KR101365869B1/ko

Links

Images

Classifications

    • 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/507Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

전자 정보를 효과적으로 인코딩 및 디코딩하기 위한 시스템 및 방법은 소스 이미지 데이터를 데이터 타일들로 초기에 분할하는 타일링 모듈을 구비하는 인코딩 시스템을 포함한다. 이어서, 프레임 구별 모듈이 변경된 데이터 타일들만을 다양한 처리 모듈로 출력하고, 다양한 처리 모듈은 변경된 데이터 타일들을 대응하는 타일 컴포넌트들로 변환한다. 양자화기가 타일 컴포넌트들에 대해 비교 절차를 수행하여, 조정 가능 양자화 파라미터에 따라 압축된 데이터를 생성한다. 이어서, 적응성 엔트로피 선택기가 복수의 이용 가능 엔트로피 인코더 중 하나를 선택하여, 엔트로피 인코딩 절차를 가장 효과적으로 수행함으로써, 인코딩된 데이터를 생성한다. 또한, 엔트로피 인코더는 피드백 루프를 이용하여, 현재의 전송 대역폭 특성에 비추어 양자화 파라미터를 조정할 수 있다.
Figure P1020097010208
전자 정보, 인코딩, 디코딩, 엔트로피 인코더, 양자화 파라미터, 데이터 타일

Description

전자 정보의 효과적 인코딩 및 디코딩을 위한 시스템 및 방법{SYSTEM AND METHOD FOR EFFECTIVELY ENCODING AND DECODING ELECTRONIC INFORMATION}
본 발명은 일반적으로 전자 정보 처리 기술에 관한 것으로서, 구체적으로는 전자 정보의 효과적 인코딩 및 디코딩을 위한 시스템 및 방법에 관한 것이다.
전자 정보 처리를 위한 효과적인 방법들의 구현은 현대의 전자 장치들의 설계자들 및 제조자들에게 중요한 고려사항이다. 그러나, 전자 장치들의 효과적인 구현은 장치 설계자들에 대해 상당한 문제들을 야기할 수 있다. 예를 들어, 향상된 장치 기능 및 성능에 대한 증가된 요구는 더 많은 시스템 처리 능력을 필요로 하며, 추가적인 하드웨어 또는 소프트웨어 자원들을 필요로 할 수 있다. 처리 및 하드웨어 요건들의 증가는 증가되는 제조 비용 및 동작의 비효율성으로 인해 대응하는 경제적 악영향으로 이어질 수도 있다.
더욱이, 다양한 진보된 동작을 수행하기 위한 향상된 장치 능력은 시스템 사용자에게 추가적인 이익을 제공할 수 있지만, 다양한 시스템 컴포넌트의 제어 및 관리에 대한 증가된 요구들을 제시할 수도 있다. 예를 들어, 이미지 데이터를 효과적으로 처리하는 향상된 전자 장치는 관련된 디지털 데이터의 많은 양 및 복잡성으로 인해 효율적인 구현으로부터 이익을 얻을 수 있다.
시스템 자원들에 대한 요구의 증가 및 데이터 크기의 상당한 증가로 인해, 전자 장치들을 구현하고 이용하기 위한 새로운 기술들의 개발은 관련 전자 기술들에 대한 관심사임이 분명하다. 따라서, 모든 전술한 이유들로 인해, 전자 정보를 처리하기 위한 효과적인 기술들의 개발은 현대의 전자 장치들의 설계자들, 제조자들 및 사용자들에게 중요한 문제로 남는다.
<발명의 요약>
본 발명에 따르면, 전자 정보를 효과적으로 인코딩 및 디코딩하기 위한 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따르면, 인코딩 시스템은 처음에 임의의 적절한 데이터 소스로부터 소스 이미지를 수신한다. 소스 이미지는 임의의 원하는 데이터 포맷에 따라 구성될 수 있다. 예를 들어, 소정 실시예들에서, 소스 이미지는 공지된 RGB 포맷의 디지털 화소(픽셀)들의 어레이로서 구현될 수 있다.
이어서, 인코딩 시스템은 타일링 모듈을 이용하여, 소스 이미지를, 소스 이미지로부터의 이미지 데이터의 인접 섹션들로서 구현되는 개별 타일들로 분할한다. 인코딩 시스템은 소스 이미지로부터 현재 타일을 선택한다. 이어서, 프레임 구별 모듈이 현재 타일과 이전 프레임으로부터의 대응 비교 타일을 비교하여, 현재 타일이 바로 이전 프레임으로부터의 비교 타일에 관해 변경되었는지를 결정한다. 현재 타일 내의 픽셀들이 변경되지 않은 경우, 프레임 구별 모듈은 현재 타일을 출력하지 않는다. 이어서, 프레임 구별 모듈은 유사한 방식으로 반복하여 소스 이미지로부터의 (이용 가능한 경우) 적절한 추가 타일들을 액세스, 비교 및 출력한다.
프레임 구별 모듈은 변경된 타일들을 DC 시프트 모듈로 출력하며, DC 시프트 모듈은 프레임 구별 모듈로부터 출력되는 타일들의 각각의 픽셀에 일정 DC 전압 값을 더한다. 칼라 변환기가 변경된 타일들 각각을 제1 칼라 포맷으로부터, 인코딩 시스템에 의한 추가 처리에 적합한 제2 칼라 포맷으로 변환한다. 예를 들어, 소정 실시예들에서, 소스 이미지는 처음에 RGB 포맷으로 수신될 수 있으며, 이어서 칼라 변환기는 RGB 포맷을 대응하는 YUV 포맷으로 변환할 수 있다.
이어서, DWT(discrete wavelet transform) 모듈이 이산 웨이블릿 변환 절차를 수행하여, 타일들의 개별 칼라 컴포넌트들을 대응하는 칼라 부대역들로 변환한다. 이어서, 양자화기 모듈이 적절한 양자화 기술들을 이용하여 양자화 절차를 수행하여, 칼라 부대역들을 압축한다. 소정 실시예들에서, 양자화기는 적응성 양자화 파라미터에 의해 지정되는 특정 압축비에 따라 칼라 부대역들의 비트 레이트를 줄임으로써 압축된 이미지 데이터를 생성한다.
이어서, 소정 실시예들에서, 엔트로피 인코더의 적응성 엔트로피 선택기가 소정의 사전 결정된 인코딩 모드 선택 기준들에 기초하여 엔트로피 인코딩 절차를 수행하기 위한 적절한 엔트로피 모드(CABAC 모드 또는 RLE 모드)를 선택한다. CABAC 모드가 선택되는 경우, 인코딩 시스템은 양자화기로부터 수신되는 압축된 이미지 데이터를 최적으로 인코딩하도록 CABAC 인코더를 동작시키기 위한 소정의 특정 구성 파라미터들을 정의하는 CABAC 구성 절차를 수행한다. 엔트로피 인코더는 적응성 엔트로피 선택기에 의해 이전에 선택된 적절한 엔트로피 모드(CABAC 모드 또는 RLE 모드)를 이용하여 압축 데이터에 대해 엔트로피 인코딩 절차를 수행한다. 이어서, 인코딩 시스템은 인코딩된 데이터를 적절한 데이터 목적지(들)에 제공할 수 있다.
소정 실시예들에서, 인코딩 시스템은 인코딩된 데이터의 품질 및 비트 레이트가 하나 이상의 사전 정의된 이미지 평가 기준에 비추어 수용 가능한지를 초기에 결정함으로써 비트 레이트 제어 절차를 더 수행할 수 있다. 인코딩 시스템이 인코딩된 데이터의 품질 및 비트 레이트가 수용가능하지 않은 것으로 결정하는 경우, 엔트로피 인코더의 비트 레이트 제어기는 피드백 루프를 통해 적응성 양자화 파라미터를 조정하여 이를 양자화기에 제공하여, 적응성 양자화 파라미터에 의해 지정되는 특정 압축비에 따라 압축 이미지 데이터의 비트 레이트를 변경하게 할 수 있다.
본 발명의 소정 실시예들에 따르면, 대응하는 디코딩 시스템을 이용하여, 인코딩 시스템으로부터의 인코딩된 데이터에 대해 디코딩 절차를 수행할 수 있다. 디코딩 시스템은 인코딩 시스템에 의해 수행된 다양한 개별 프로세스 단계들을 본질적으로 역전시켜 오리지널 소스 데이터를 디코딩, 재생하도록 동작한다. 따라서, 적어도 전술한 이유들로 인해, 본 발명은 전자 정보를 효율적으로 인코딩 및 디코딩하기 위한 향상된 시스템 및 방법을 제공한다.
도 1은 본 발명에 따른 인코딩 시스템의 일 실시예의 블록도.
도 2는 본 발명에 따른 디코딩 시스템의 일 실시예의 블록도.
도 3은 본 발명에 따른 프레임 구별 절차의 일 실시예를 나타내는 도면.
도 4는 본 발명에 따른 프레임 재구성 절차의 일 실시예를 나타내는 도면.
도 5는 본 발명에 따른 도 1의 엔트로피 인코더의 일 실시예의 블록도.
도 6은 본 발명에 따른 도 2의 엔트로피 디코더의 일 실시예의 블록도.
도 7은 본 발명에 따른 다중 인코더-디코더 아키텍처의 일 실시예의 블록도.
도 8은 본 발명에 따른 다중 이미지 인코딩/디코딩 절차의 일 실시예의 블록도.
도 9는 본 발명에 따른 타일 데이터의 일 실시예의 도면.
도 10A-B는 본 발명의 일 실시예에 따라 CABAC 구성 절차를 수행하기 위한 소정 기술들을 나타내는 도면들.
도 11은 본 발명의 일 실시예에 따라 인코딩 절차를 수행하기 위한 방법 단계들의 흐름도.
도 12는 본 발명의 일 실시예에 따라 디코딩 절차를 수행하기 위한 방법 단계들의 흐름도.
도 13은 본 발명의 다른 실시예에 따라 인코딩 절차를 수행하기 위한 방법 단계들의 흐름도.
본 발명의 전자 정보 처리 시스템의 개량에 관한 것이다. 아래의 설명은 이 분야의 통상의 기술자가 본 발명을 실시하고 이용할 수 있게 하기 위해 제공되며, 특허 출원 및 그 요건과 관련하여 제공된다. 개시되는 실시예들에 대한 다양한 변경이 이 분야의 기술자들에게 자명할 것이며, 여기에 설명되는 일반 원리들은 다른 실시예들에 적용될 수 있다. 따라서, 본 발명은 설명되는 실시예들로 한정되는 것이 아니라, 여기에 설명되는 원리들 및 특징들과 일치하는 가장 넓은 범위가 주어지는 것을 의도한다.
본 발명은 본 명세서에서 전자 정보를 효과적으로 인코딩 및 디코딩하기 위한 시스템 및 방법으로서 설명되며, 처음에 소스 이미지 데이터를 데이터 타일들로 분할하는 타일링 모듈을 구비하는 인코딩 시스템을 포함할 수 있다. 이어서, 프레임 구별 모듈이 변경된 데이터만을 다양한 처리 모듈로 출력하며, 다양한 처리 모듈은 변경된 데이터 타일들을 대응하는 타일 컴포넌트들로 변환한다.
양자화기가 타일 컴포넌트들에 대해 압축 절차를 수행하여, 조정 가능한 양자화 파라미터에 따라 압축된 데이터를 생성한다. 이어서, 적응성 엔트로피 선택기가 복수의 이용 가능 엔트로피 인코더 중에서 엔트로피 인코딩 절차를 가장 효과적으로 수행하기 위한 하나의 엔트로피 인코더를 선택하여, 인코딩된 데이터를 생성하게 한다. 또한, 엔트로피 인코더는 피드백 루프를 이용하여, 현재 전송 대역폭 특성들에 비추어 양자화 파라미터를 조정할 수 있다.
이제, 도 1을 참조하면, 본 발명의 일 실시예에 따른 인코딩 시스템(100)의 블록도가 도시되어 있다. 대안 실시예들에서, 인코딩 시스템(100)은 도 1의 실시예와 관련하여 후술하는 소정의 컴포넌트들 및 구성들에 추가적이거나 그를 대신하는 컴포넌트들 및 구성들을 이용하여 구현될 수 있다. 예를 들어, 도 1의 실시예에서, 인코딩 시스템(100)은 이미지 데이터의 처리와 관련하여 설명된다. 그러나, 대안 실시예들에서는, 본 발명의 소정의 개념들 및 기술들이 다른 타입의 전자 정보의 처리에 유사하게 이용될 수 있다.
도 1의 실시예에서, 인코딩 시스템(100)은 먼저 임의의 적절한 데이터 소스로부터 이미지 데이터의 프레임으로서 소스 이미지(101)를 수신한다. 이어서, 도 1의 실시예에서, 타일링 모듈(102)이 소스 이미지(101)를, 소스 이미지(101)로부터의 이미지 데이터의 인접 섹션들로서 구현되는 개별 타일들로 분할한다. 개별 타일들은 임의의 원하는 방식으로 구성될 수 있다. 예를 들어, 소정 실시예들에서, 128 픽셀의 폭과 128 픽셀의 높이를 갖는 픽셀 어레이로서 개별 타일이 구현될 수 있다.
도 1의 실시예에서, 프레임 구별 모듈(104)이 현재 소스 이미지(101)와, 입력 이미지 데이터의 이전 프레임(105)으로부터의 유사 위치의 비교 타일들을 타일 단위로 비교한다. 이어서, 인코딩을 필요로 하는 타일들의 총 수를 줄이기 위해, 이롭게도 프레임 구별 모듈(104)은 현재 소스 이미지(101)로부터 이전 프레임(105) 내의 대응하는 비교 타일들과 구별되는 변경된 타일들만을 경로(106)를 통해 출력한다. 추가적인 프레임 구별 기술들이 도 3과 관련하여 더 후술된다.
이어서, 도 1의 실시예에서, DC 시프트 모듈(107)이 프레임 구별 모듈(104)로부터 출력되는 타일들로부터의 각각의 픽셀에 일정 DC 전압 값을 더한다. 또한, 칼라 변환기(108)가 타일들 각각을 제1 칼라 포맷으로부터, 인코딩 시스템(100)에 의한 추가 처리에 적합한 제2 칼라 포맷으로 변환한다. 예를 들어, 소정 실시예들에서, 소스 이미지(101)는 처음에 RGB 포맷으로 수신될 수 있으며, 이어서 칼라 변환기(108)는 RGB 포맷을 대응하는 YUV 포맷으로 변환한다.
도 1의 실시예에서, DWT 모듈(110)은 공지된 이산 웨이블릿 변환 절차를 수행하여, 타일들의 개별 YUV 컴포넌트들을 대응하는 YUV 타일 부대역들로 변환한다. 이산 웨이블릿 변환의 추가 상세들은 2001년 9월, IEEE Signal Processing Magazine에 발표된 Athanassios Skodras 등에 의한 "The JPEG 2000 Still Image Compression Standard"에 더 설명되어 있다.
이어서, 양자화기 모듈(111)이 적절한 양자화 기술들을 이용하여 타일 부대역들을 압축함으로써 양자화 절차를 수행한다. 도 1의 실시예에서, 양자화기(111)는 엔트로피 인코더(113)로부터 피드백 루프를 통해 수신되는 적응성 양자화 파라미터(115)에 의해 지정되는 특정 압축비에 따라 타일들의 비트 레이트를 줄임으로써 압축된 이미지 데이터(112)를 생성한다. 비트 레이트 제어 절차들을 수행하기 위한 다양한 추가 기술들이 도 5와 관련하여 더 후술된다.
도 1의 실시예에서, 엔트로피 인코더(113)는 엔트로피 인코딩 절차를 수행하여 인코딩된 데이터(114)를 효과적으로 생성한다. 소정 실시예들에서, 엔트로피 인코딩 절차는 양자화기(111)로부터 수신되는 압축된 이미지 데이터 내의 대응하는 비트 패턴들을 적절한 코드들로 대체함으로써 압축된 이미지 데이터의 비트 레이트를 더 줄인다. 엔트로피 인코더(113)를 구현하고 이용하기 위한 다양한 실시예가 도 5와 관련하여 더 후술된다.
더욱이, 소정의 대안 실시예들에서는, SOC(System-On-Chip) 장치가 중앙 처리 유닛 및/또는 그래픽 처리 유닛과 연계하여 인코딩 시스템(100)을 포함할 수 있다. 그래픽 처리 유닛은 이산 웨이블릿 변환 분석 기능을 프로그램적으로 수행하여 양자화기에 부대역들을 제공할 수 있다. 그래픽 처리 유닛은 또한 양자화기로부터 수신되는 압축 데이터로부터 인코딩된 데이터를 생성하기 위한 CABAC 인코더들을 포함할 수 있다.
이러한 형태의 집적은 효율적인데, 이는 인코딩을 위한 데이터가 그래픽 처리 유닛에 의해 이용가능하며, 처리를 위해 직접 메모리 액세스 기술들에 의해 인코딩 시스템들의 메모리에 제공될 필요가 없기 때문이다. 대응하는 디코딩 시스템 또는 SOC는 비트 블록 전달(BitBlit), 업 및 다운 스케일링, 라인 드로잉은 물론 로버스트 윈도우잉 시스템의 지원과 같은 전통적인 그래픽 처리 동작들을 수행하기 위한 그래픽 처리 유닛을 포함하는 다른 처리 요소들을 포함할 수 있다.
도 1의 실시예에서, 인코딩 시스템(100)은 주로 하드웨어 회로로서 구현되는 것으로 개시되고 설명된다. 소정 실시예들에서, 인코딩 시스템(100)은 단일 집적 회로 장치로서 구현될 수 있다. 그러한, 대안 실시예들에서는, 본 발명의 기능들의 일부 또는 전부가 여기에 설명되는 다양한 기능을 효과적으로 수행하도록 실행되는 적절한 소프트웨어 명령어들에 의해 수행될 수 있다.
이제, 도 2를 참조하면, 본 발명의 일 실시예에 따른 디코딩 시스템(200)의 블록도가 도시되어 있다. 대안 실시예들에서, 디코딩 시스템(200)은 도 2의 실시예와 관련하여 설명된 소정의 컴포넌트들 및 구성들에 더하거나 대신하는 컴포넌트들 및 구성들을 이용하여 구현될 수 있다. 예를 들어, 도 2의 실시예에서, 디코딩 시스템(200)은 이미지 데이터의 처리와 관련하여 설명된다. 그러나, 대안 실시예들에서, 본 발명의 소정의 개념들 및 기술들은 다른 타입의 전자 정보의 처리에 유사하게 이용될 수 있다.
도 2의 실시예에서, 디코딩 시스템(200)은 먼저 임의의 적절한 인코딩 포맷으로 하나 이상의 데이터 소스로부터 제공되는 인코딩된 데이터(114)를 수신한다. 도 2의 실시예에서, 엔트로피 디코더(202)가 엔트로피 디코딩 절차를 수행하여, 인코딩된 데이터(114)를 압축된 이미지 데이터(203)로 효과적으로 변환한다. 소정 실시예들에서, 엔트로피 디코딩 절차는 인코딩된 데이터(114) 내의 대응 코드들을 적절한 비트 패턴들로 대체하여 YUV 포맷의 압축된 이미지 데이터(203)를 생성함으로써 인코딩된 데이터(114)의 비트 레이트를 증가시킨다. 엔트로피 디코더(202)를 구현하고 이용하기 위한 다양한 실시예는 도 6과 관련하여 더 후술된다.
이어서, 역양자화기 모듈(204)이 압축된 이미지 데이터(203)를 압축 해제하여 다양한 대응 타일 부대역들을 생성하기 위한 적절한 역양자화 기술들을 이용함으로써 역양자화 절차를 수행한다. 예를 들어, 소정 실시예들에서, 역양자화기(204)는 인코딩 동안 양자화기(111)의 양자화 세팅에 기초하여 양자화를 수행함으로써 타일 부대역들을 생성한다. 도 2의 실시예에서, 역 이산 웨이블릿 변환 모듈(역 DWT)(205)이 공지된 역 이산 웨이블릿 변환 절차를 수행하여, 개별 타일 부대역들을 경로(206) 상에 출력되는 대응하는 개별 타일들로 변환함으로써, 대응 이산 웨이블릿 변환 절차를 역전시킨다.
이어서, 도 2의 실시예에서, 칼라 변환기(207)가 디코딩 시스템(200)에 의한 후속 처리를 위해 개별 타일들 각각을 제1 칼라 포맷으로부터 제2 칼라 포맷으로 변환한다. 예를 들어, 소정 실시예들에서, 칼라 변환기(207)에 의해 수신된 개별 타일들은 YUV 포맷에서 대응하는 RGB 포맷으로 변환될 수 있다. 이어서, 도 2의 실시예에서, DC 시프트 회로(208)가 칼라 변환기(207)로부터 출력되는 타일들의 각각의 픽셀로부터 소정의 일정 DC 전압 값을 감산한다.
이어서, 도 2의 실시예에서, 프레임 재구성기(210)가 이미지 데이터의 현재 프레임과, 이미지 데이터의 이전 프레임(211)으로부터의 유사 위치 비교 타일들을 타일 단위로 비교하여, 도 1의 프레임 구별 모듈(104)이 이전에 프레임 구별 절차를 수행했던 전체 타일 수를 갖는 현재 프레임을 재구성한다. 이어서, 프레임 재구성기(210)는 임의의 적절한 엔티티에 의한 사용을 위해 재구성된 이미지(212)를 출력한다. 추가적인 프레임 재구성 기술들이 도 4와 관련하여 더 후술된다.
더욱이, 소정의 대안 실시예들에서, 디코딩 시스템(200)은 디코딩 시스템(200)의 CABAC 디코더가 역 DWT(205) 및 H.264 정수 변환 디코딩 시스템에 의해 공유되는 SOC 장치의 일부로서 구현된다. CABAC 디코더는 프로그램 제어 하에 데이터를 H.264 모드로 그리고 향상된 이산 웨이블릿 변환 모드로 처리한다. CABAC 인코더는 이산 웨이블릿 변환 모드로 웨이블릿 기반 타일 상에 작용할 수 있으며, H.264 모드로 개별 비디오 비트스트림을 처리할 수 있다.
도 2의 실시예에서, 디코딩 시스템(200)은 주로 하드웨어 회로로서 구현되는 것으로 개시되고 설명된다. 소정 실시예들에서, 디코딩 시스템(200)은 단일 집적 회로 장치로서 구현될 수 있다. 그러나, 대안 실시예들에서는, 본 발명의 기능들의 일부 또는 전부가 여기에 설명되는 다양한 기능을 효과적으로 수행하도록 실행되는 적절한 소프트웨어 명령어들에 의해 수행될 수 있다.
이제, 도 3을 참조하면, 본 발명의 일 실시예에 따른 프레임 구별 절차를 나타내는 도면이 도시되어 있다. 도 3의 실시예는 설명의 목적으로 제공되며, 대안 실시예들에서 본 발명은 도 3 실시예와 관련하여 설명되는 소정의 기술들 및 구성들에 더하거나 대신하는 기술들 및 구성들을 이용하여 프레임 구별 절차들을 쉽게 수행할 수 있다.
도 3의 실시예에서, 프레임 구별 모듈(104)은 타일링 모듈(102; 도 1)에 의해 일련의 개별 타일들(1-20)로 분할된 이미지 데이터의 이전 프레임(105)을 저장한다. 도 3의 실시예에서, 프레임 구별 모듈(104)은, 이전 프레임(105)과 현재 프레임(305)의 대응 타일들을 비교하여, 비교된 타일들 중 임의 타일 내의 픽셀들이 변경되었는지를 결정하기 위한 임의의 적절한 기술들을 이용하여 프레임 구별 절차를 수행한다.
도 3의 도면에서는 설명의 목적으로, 현재 프레임(305) 내의 변경된 타일들이 타일 번호에 이어지는 문자 "n"을 갖는 굵은 활자체로 표시된다. 예를 들어, 도 3의 실시예에서, 현재 프레임(305)은 변경된 타일들 3n, 7n, 8n, 9n 및 13n을 포함한다. 모든 현재 프레임(305)을 처리하는 대신에, 프레임 구별 모듈(104)은 이전 프레임(105)으로부터의 대응 타일들과 구별되는 변경된 타일들만을 경로(106)를 통해 효율적으로 출력한다.
예를 들어, 도 3의 실시예에서, 프레임 구별 모듈(104)은 변경된 타일들 3n, 7n, 8n, 9n 및 13n으로만 채워진 변경된 프레임(307)을 출력한다. 현재 프레임(305)이 이전 프레임(105)에 관해 어떠한 변경된 타일도 나타내지 않는 경우, 변경되지 않은 현재 프레임(305)은 프레임 구별 모듈(104)에 의해 출력되지 않는다. 전술한 프레임 구별 절차는 이롭게도 인코딩 시스템(100; 도 1) 및 디코딩 시스템(200; 도 2)에 대한 상당히 감소된 처리 요건을 지원한다. 인코딩 시스템(100)에 의한 프레임 구별 모듈(104)의 효율적인 사용은 도 13과 관련하여 더 후술된다.
이제, 도 4를 참조하면, 본 발명의 일 실시예에 따른 프레임 재구성 절차를 나타내는 도면이 도시되어 있다. 도 4의 실시예는 설명의 목적으로 제공되며, 대안 실시예들에서 본 발명은 도 4의 실시예와 관련하여 설명되는 소정의 기술들 및 컴포넌트들에 더하거나 대신하는 기술들 및 구성들을 이용하여 프레임 재구성 절차들을 쉽게 수행할 수 있다.
도 4의 실시예에서, 프레임 재구성기(210)는 일련의 개별 타일들(1-20)로 분할된 이미지 데이터의 이전 프레임(211)을 저장한다. 도 4의 실시예에서, 프레임 재구성기 모듈(210)은, 이전 프레임(211)과 수신된 프레임(307)의 대응 타일들을 비교하여, 비교된 타일들 중 임의 타일 내의 픽셀들이 변경되었는지를 결정하기 위한 임의의 적절한 기술들을 이용하여 프레임 재구성 절차를 수행한다. 도 4의 실시예에서, 수신된 프레임(307)은 도 2에서 프레임 구별 모듈(104)의 출력으로서 나타나는 "이전 프레임과 구별되는 타일들을 갖는 프레임"과 동일하거나 유사한 것이 바람직하다.
도 4의 도면에서는 설명의 목적으로, 프레임(307) 내의 변경된 타일들이 타일 번호에 이어지는 문자 "n"을 갖는 굵은 활자체로 표시된다. 예를 들어, 도 4의 실시예에서, 프레임(307)은 변경된 타일들 3n, 7n, 8n, 9n 및 13n을 포함한다. 도 3에서 설명된 프레임 구별 절차를 역전시키기 위해, 프레임 재구성기(210)는 임의의 적절한 기술들을 이용하여, 도 3에서 프레임 구별 모듈(104)에 의해 최초 처리된 오리지널 현재 프레임(305)을 재구성한다.
예를 들어, 도 4의 실시예에서, 프레임 재구성기(210)는 프레임(307)으로부터의 변경된 타일들(3n, 7n, 8n, 9n, 13n) 및 이전 프레임(211)으로부터의 나머지 변경되지 않은 타일들(1-2, 4-6, 10-12, 14-20) 양자로 채워진 현재 프레임(305)을 출력한다. 따라서, 전술한 프레임 재구성 절차는 도 3의 이전 프레임 구별 절차를 지원하여, 인코딩 시스템(100; 도 1) 및 디코딩 시스템(200; 도 2)에 대한 상당히 감소된 처리 요건을 이롭게 제공한다.
이제, 도 5를 참조하면, 본 발명의 일 실시예에 따른 도 1의 엔트로피 인코더(113)의 블록도가 도시되어 있다. 대안 실시예들에서, 엔트로피 인코더(113)는 도 5의 실시예와 관련하여 설명되는 소정의 컴포넌트들 및 구성들에 더하거나 대신하는 컴포넌트들 및 구성들을 이용하여 구현될 수 있다.
도 5의 실시예에서, 엔트로피 인코더(113)는 적응성 엔트로피 선택기(512)(레이트 제어기를 포함), 컨텍스트 기반 적응성 이진 산술 코딩(CABAC) 인코더(516) 및 실행 길이 인코딩 인코더(RLE; 520)를 포함한다. 도 5의 실시예에서, CABAC 인코더(516)는 공지된 H.264 CABAC 표준에 따라 엔트로피 인코딩 절차를 수행하도록 선택될 수 있다. H.264 CABAC 인코딩 프로세스에 대한 추가 상세들은 "Context-Based Adaptive Binary Arithmetic Coding," by Marpe, Detlev, et al., in the H.264/AVC Video Compression Standard, IEEE Transactions On Circuits And Systems For Video Technology, Vol. 13, No. 7, July 2003에 설명되어 있다.
도 5의 실시예에서, 엔트로피 인코더(113)는 RLE 인코더(520)를 교대로 선택하고 동작시켜, 소정의 공지된 실행 길이 인코딩 기술들에 따라 엔트로피 인코딩 절차들을 수행할 수 있다. 다양한 타입의 실행 길이 인코딩 기술들에 대한 추가 상세들은 인터넷 웹페이지 어드레스 http://en.wikipedia.org/wiki/Run-length encoding에서 온라인으로 찾아 검토할 수 있다.
도 5의 실시예에서, CABAC 인코더(516)는 통상적으로 하나 이상의-하드웨어 회로로서 구현되며, RLE 인코더(520)는 통상적으로 엔트로피 인코딩 소프트웨어 명령어들의 실행에 응답하여 엔트로피 인코딩 절차들을 수행하도록 구현된다. 도 5의 실시예에서, CABAC 인코더(516)는 통상적으로 RLE 인코더(520)의 전송 대역폭 및 메모리 요건들에 비해 상대적으로 낮은 전송 대역폭 및 메모리 요건들로 엔트로피 인코딩을 수행한다. 도 5의 실시예에서, 또한 CABAC 인코더(516)는 통상적으로 엔트로피 인코딩을 수행할 때 RLE 인코더(520)보다 많은 양의 압축을 달성한다. 그러나, CABAC 인코더(516)는 통상적으로 RLE 인코더(520)보다 구현 비용이 비싸다.
도 5의 실시예에서, 적응성 엔트로피 선택기(512)는 먼저 도 1의 양자화기(111)로부터 압축된 데이터(112)를 수신한다. 도 5의 실시예에서, 적응성 엔트로피 선택기(512)는 엔트로피 인코더(113)에 대해 현재 이용 가능한 전송 대역폭 및 메모리 자원들을 동적으로 감지한다. 인코딩 시스템(100) 및/또는 디코딩 시스템(200)의 소정 버전들은 CABAC 인코딩 및/또는 디코딩을 지원하지 않을 수 있으므로, 적응성 엔트로피 선택기(512)는 또한 CABAC 인코더들/디코더들이 대응하는 엔트로피 인코딩 및/또는 디코딩 프로세스들을 수행하는 데 이용될 수 있는지를 결정한다.
도 5의 실시예에서, 전술한 상이한 인코딩 선택 기준에 기초하여, 적응성 엔트로피 선택기(512)는 현재 엔트로피 인코딩 절차를 수행하기 위한 CABAC 인코더(516) 또는 RLE 인코더(520)를 유연하게 그리고 동적으로 선택하도록 구성된다. 예를 들어, 이용 가능한 전송 대역폭 및 메모리 자원들이 비교적 낮은 경우, 적응성 엔트로피 선택기(512)는 CABAC 인코더(516)를 선택할 수 있다. 마찬가지로, 보다 높은 등급의 압축이 필요한 경우, 적응성 엔트로피 선택기(512)는 CABAC 인코더(516)를 선택할 수 있다. 대안으로, CABAC 인코딩이 현재 지원되지 않는 경우, 적응성 엔트로피 선택기(512)는 RLE 인코더(520)를 선택할 수 있다. 마찬가지로, 전송 대역폭 및 메모리 자원들이 풍부한 경우, 적응성 엔트로피 선택기(512)는 엔트로피 인코딩 프로세스를 수행하기 위해 RLE 인코더(520)의 선택을 고려할 수 있다.
도 5의 실시예에서, 적응성 엔트로피 선택기(512)는 적응성 양자화 파라미터(115)에 의해 지정되는 특정 압축비에 따라 압축된 이미지 데이터(112)의 비트 레이트를 변경함으로써 압축된 이미지 데이터(112)를 생성하기 위해 피드백 루프를 통해 적응성 양자화 파라미터(115)를 조정하여 양자화기(111; 도 1)에 제공하는 레이트 제어기를 포함한다. 도 5의 실시예에서, 적응성 엔트로피 선택기(512)의 레이트 제어기는 임의의 적절한 기준들 또는 기술들을 이용하여 인코딩된 데이터(114)의 픽처 품질 특성들을 결정한다.
이어서, 인코딩된 데이터(114)가 수용 가능하지 않은 픽처 품질을 나타내거나, 다운스트림 채널의 대역폭 특성들이 불충분한 경우, 적응성 엔트로피 선택기(512)의 레이트 제어기는 적응성 양자화 파라미터(115)를 조정하여 압축의 양을 감소시킬 수 있다. 이와 달리, 인코딩된 데이터(114)의 픽처 품질이 특별히 중요하지 않은 경우, 레이트 제어기는 적응성 양자화 파라미터(115)를 조정하여 압축의 양을 증가시킬 수 있다. 또한, 이용 가능한 메모리 및/또는 전송 대역폭이 비교적 부족한 경우, 레이트 제어기는 적응성 양자화 파라미터(115)를 조정하여, 압축된 이미지 데이터(112)의 압축량을 감소시킬 수 있다. 이와 달리, 이용 가능한 메모리 및/또는 전송 대역폭이 풍부하고, 향상된 픽처 품질이 이로운 경우, 레이트 제어기는 적응성 양자화 파라미터(115)를 조정하여, 압축된 이미지 데이터(112)의 압축 레벨을 증가시킬 수 있다. 엔트로피 인코더(113)를 효과적으로 이용하기 위한 추가 기술들은 도 11 및 13과 관련하여 더 후술된다.
이제, 도 6을 참조하면, 본 발명의 일 실시예에 따른 도 2의 엔트로피 디코더(202)의 블록도가 도시되어 있다. 대안 실시예들에서, 엔트로피 디코더(202)는 도 6의 실시예와 관련하여 설명되는 소정의 컴포넌트들 및 구성들에 더하거나 대신하는 컴포넌트들 및 구성들을 이용하여 구현될 수 있다.
도 6의 실시예에서, 엔트로피 디코더(202)는 CABAC 디코더(614) 및 RLE 디코더(618)를 포함한다. 도 6의 실시예에서, CABAC 디코더(614)는 공지된 엔트로피 디코딩 절차들을 수행하여 도 5의 CABAC 인코더(516)에 의해 수행된 엔트로피 인코딩 절차를 효과적으로 역전시키도록 선택될 수 있다. 소정 실시예들에서, CABAC 디코더(614)는 도 5와 관련하여 전술한 공지의 H.264 CABAC 표준에 따라 엔트로피 디코딩 절차를 수행하도록 선택될 수 있다.
대안으로, RLE 디코더(520)는 공지된 엔트로피 디코딩 절차들을 수행하여 도 5의 RLE 인코더(520)에 의해 수행된 엔트로피 인코딩 절차를 효과적으로 역전시키도록 선택될 수 있다. 소정 실시예들에서, 엔트로피 디코더(202)는 동적으로 그리고 유연하게 RLE 디코더(618)를 선택하여, 도 5의 RLE 인코더(520)와 관련하여 전술한 다양한 공지된 실행 길이 디코딩 표준들에 따라 적절한 엔트로피 디코딩 절차들을 수행할 수 있다.
도 6의 실시예에서, 엔트로피 디코더(202)는 먼저 임의의 적절한 데이터 소스로부터 인코딩된 데이터(114)를 수신한다. 이에 응답하여, 엔트로피 디코더(202)는 인코딩된 데이터(114)를 분석하여, 인코딩된 데이터(114)가 CABAC 인코딩 포맷으로 또는 RLE 인코딩 포맷으로 구성되어 있는지를 결정한다. 도 6의 실시예에서, 이어서 엔트로피 디코더(202)는 인코딩된 데이터(114)의 인코딩 포맷의 타입에 따라 CABAC 디코더(614) 또는 RLE 디코더(618)를 작동시켜, 엔트로피 디코딩 절차를 수행한다.
예를 들어, 인코딩된 데이터(114)가 CABAC 인코딩 포맷으로 수신되는 경우, 엔트로피 디코더(202)는 CABAC 디코더(614)를 이용하여 인코딩된 데이터(114)를 디코딩하여, 대응하는 압축된 이미지 데이터(203)를 역양자화기(204; 도 2)에 제공한다. 대안으로, 인코딩된 데이터(114)가 RLE 인코딩 포맷으로 수신되는 경우, 엔트로피 디코더(202)는 RLE 디코더(618)를 이용하여 인코딩된 데이터(114)를 디코딩하여, 대응하는 압축된 이미지 데이터(203)를 역양자화기(204)에 제공한다. 엔트로피 디코더(202)를 이용하기 위한 추가 기술들은 도 12와 관련하여 더 후술한다.
이제, 도 7을 참조하면, 본 발명의 일 실시예에 따른 다중 인코더-디코더 아키텍처의 블록도가 도시되어 있다. 도 7의 실시예는 설명의 목적으로 제공되며, 대안 실시예들에서는 도 7의 실시예와 관련하여 설명되는 소정의 컴포넌트들 및 구성들에 더하거나 대신하는 컴포넌트들 및 구성들을 이용하여 다중 인코더-디코더 아키텍처들이 구현될 수 있다.
도 7의 실시예에서, 타일링 모듈(102)이 먼저 임의의 적절한 데이터 소스로부터 이미지 데이터의 프레임으로서 소스 이미지(101)를 수신한다. 이어서, 타일링 모듈(102)은 소스 이미지(101)를, 소스 이미지(101)로부터의 이미지 데이터의 인접 섹션들로서 바람직하게 구현되는 개별 타일들로 분할한다. 도 7의 실시예에서, 개별 타일들(103)은 각각 일련의 상이한 칼라 변환기들 중 하나로 전송되며, 이 칼라 변환기들 각각은 각각의 수신된 타일들을 제1 칼라 포맷에서 제2 칼라 포맷으로 변환한다. 예를 들어, 소정 실시예들에서, 소스 이미지(101)는 처음에 RGB 포맷으로 수신될 수 있으며, 이에 응답하여 칼라 변환기들은 타일 단위로 대응하는 YUV 컴포넌트들(109)로 변환할 수 있다.
도 7의 실시예에서는, 일련의 인코더들이 YUV 컴포넌트들(109)을 동시에 인코딩하도록 병렬로 구성되는 것으로 도시되어 있다. 이러한 인코더들은 임의의 적절한 방식으로 구현될 수 있다. 예를 들어, 소정 실시예들에서, 인코더들 각각은 도 1의 인코딩 시스템(100)의 실시예로부터의 DWT(110), 양자화기(111) 및 엔트로피 인코더(113)를 포함하도록 구현될 수 있다. 도 7의 실시예에서, YUV 컴포넌트들(109) 각각은 인코딩 프로세스의 처리량 특성을 크게 향상시키기 위한 동시 인코딩을 위해 병렬 인코더들 중 상이한 하나에 개별적으로 제공된다. 이어서, YUV 컴포넌트들(109) 각각은 병렬 인코더들의 각각의 인코더로부터 인코딩된 데이터(114)로서 동시에 출력될 수 있다.
도 7의 실시예에서는, 일련의 디코더들이 인코딩된 데이터(114)의 각각의 컴포넌트들을 동시에 디코딩하도록 병렬로 구성되는 것으로 도시되어 있다. 이러한 디코더들은 임의의 적절한 방식으로 구현될 수 있다. 예를 들어, 소정 실시예들에서, 병렬 디코더들 각각은 도 2의 디코딩 시스템(100)의 실시예로부터의 엔트로피 디코더(202), 역양자화기(204) 및 역 DWT(205)를 포함하도록 구현될 수 있다. 도 7의 실시예에서, 인코딩된 데이터(114)의 컴포넌트들 각각은 디코딩 프로세스의 처리량 특성을 크게 향상시키기 위한 동시 디코딩을 위해 병렬 디코더들 중 상이한 하나에 개별적으로 제공된다.
이어서, 디코더들 각각은 디코딩된 YUV 컴포넌트들(206)의 각각을 대응 칼라 변환기로 동시에 출력할 수 있으며, 이 칼라 변환기는 YUV 컴포넌트들(206)을 합성 이미지(합성 RGB 이미지 등)로 변환 및 결합할 수 있다. 도 7의 실시예에서, 이어서 프레임 재구성기(RECON)가 재구성된 이미지(212)를 임의의 적절한 이미지 목적지에 제공할 수 있다.
도 7의 실시예에서, 다중 인코더/디코더 아키텍처는 일치하는 수의 인코더들 및 디코더들을 갖는 것으로 도시되어 있다. 그러나, 대안 실시예들에서는, 일치하지 않는 수의 인코더들 및 디코더들을 갖는 인코더/디코더 아키텍처들도 고려된다. 예를 들어, 서버 컴퓨터는 상대적으로 감소된 수의 디코더를 각각 필요로 하는 개별 클라이언트 컴퓨터들에 의해 사용하기 위한 많은 양의 데이터를 효율적으로 처리하기 위해 보다 많은 수의 인코더를 필요로 할 수 있다.
또한, 다중 인코더/디코더 아키텍처들은 상이한 데이터 목적지들에 의한 이용을 위해 병렬 방식으로 개별 이미지들을 개별적으로 인코딩 및/또는 디코딩하는 데 유사하게 이용될 수 있다. 더욱이, 소정 실시예들에서, 개별 인코더 또는 디코더는 단일 인코딩 시스템을 지원하도록 병렬로 구성되는 복수의 엔트로피 인코더를 갖도록 구현될 수 있다. 예를 들어, 도 1의 인코딩 시스템(100) 및/또는 도 2의 디코딩 시스템(200)은 병렬로 구성되는 복수의 적절한 CABAC 인코더(516) 또는 CABAC 디코더(614)를 갖도록 구현될 수 있으며, 따라서 다른 시스템 컴포넌트들은 긴 엔트로피 인코딩 또는 디코딩 절차들의 완료를 위해 유휴 상태에서 대기할 필요가 없게 된다.
이제, 도 8을 참조하면, 본 발명의 일 실시예에 따른 다중 이미지 인코딩/디코딩 절차의 블록도가 도시되어 있다. 도 8의 실시예는 설명의 목적으로 제공되며, 대체 실시예들에서 본 발명은 도 8의 실시예와 관련하여 설명되는 소정의 기술들 및 구성들에 더하거나 대신하는 기술들 및 구성들을 이용하여 다중 이미지 인코딩/디코딩 절차들을 수행할 수 있다.
도 8의 실시예에서는, 단일 인코더가 이미지 1 내지 이미지 n을 동시에 인코딩하고, 각각의 인코딩된 이미지들을 적절한 디코더들에 제공하는 것으로 도시되어 있다. 도 8의 실시예에서, 인코더는 임의의 효과적인 방식으로 구현될 수 있다. 예를 들어, 소정 실시예들에서, 도 8의 인코더는 도 1의 인코딩 시스템(100)에 도시된 임의의 컴포넌트를 포함할 수 있지만, 이에 한정되지 않는다.
도 8의 실시예에서, 인코더는 각각의 대응 이미지들로부터의 이전 프레임들 1 내지 n(105)을 저장한다. 도 8의 인코더는 또한 임의의 적절한 목적지(들)로부터 소스 이미지들(101)의 현재 프레임들 1 내지 n을 수신한다. 이어서, 도 8의 인코더는 임의의 적절한 기술들을 이용하여 현재 프레임들(101)을 동시에 처리하여 대응하는 인코딩된 데이터(114)를 생성한다. 예를 들어, 소정 실시예들에서, 도 8의 인코더는 도 1, 3 및 5와 관련하여 전술한 인코딩 기술들과 동일하거나 유사한 인코딩 기술들을 이용한다.
도 8의 실시예에서, 이어서 인코더는 인코딩된 데이터(114)의 대응 프레임들을 동시에 디코딩하도록 병렬로 구성되는 각각의 디코더들에 인코딩된 데이터(114)의 개별 프레임들을 제공한다. 이러한 디코더들은 임의의 적절한 방식으로 구현될 수 있다. 예를 들어, 소정 실시예들에서, 도 8의 디코더들은 각각 도 2의 디코딩 시스템에 도시된 임의의 컴포넌트를 포함할 수 있지만, 이에 한정되지 않는다.
이어서, 도 8의 디코더들은 임의의 적절한 기술들을 이용하여 인코딩된 데이터(114)를 동시에 처리하여 재구성된 이미지들(212)의 대응하는 현재 프레임들 1 내지 n을 생성한다. 예를 들어, 소정 실시예들에서, 도 8의 디코더들은 도 2, 4 및 6과 관련하여 전술한 디코딩 기술들과 동일하거나 유사한 디코딩 기술들을 이용한다. 도 8의 실시예에서, 이어서 재구성된 이미지들(212)은 임의의 적절한 이미지 목적지에 제공될 수 있다.
이제, 도 9를 참조하면, 본 발명의 일 실시예에 따른 타일 데이터(910)의 도면이 도시되어 있다. 도 9의 실시예에서, 데이터(910)는 타일 시작(SOT) 헤더 및 슬라이스 데이터를 포함한다. 도 9의 실시예는 설명의 목적으로 제공되며, 대안 실시예들에서 타일 데이터(910)는 도 9의 실시예와 관련하여 설명되는 소정의 컴포넌트들 및 구성들에 더하거나 대신하는 컴포넌트들 및 구성들을 이용하여 구현될 수 있다.
도 9의 실시예는 각각의 타일에 대해 인코딩된 데이터(114)를 저장 또는 전송하기 위한 데이터 포맷을 나타낸다. 타일 시작 헤더(SOT)는 타일을 재구성하고 타일을 이미지 데이터의 현재 프레임에 삽입하는 데 사용되는 다양한 상이한 선택 가능 파라미터로 구성된다. 예를 들어, SOT는 다양한 부대역에 대한 양자화 파라미터들, 관련 인코딩된 정보의 길이, 및 디코딩 절차들을 돕기 위한 오프셋 값들을 포함할 수 있다. 하나의 관련 타일에 대응하는 인코딩된 비트 스트림을 포함하는 슬라이스 데이터가 SOT에 이어진다. 도 9의 실시예에서, 슬라이스 데이터는 임의의 적절한 포맷으로 인코딩될 수 있다. 예를 들어, 소정 실시예들에서, 슬라이스 데이터는 도 5와 관련하여 전술한 CABAC 인코더(516)에 의해 또는 RLE 인코더(520)에 의해 인코딩될 수 있다.
이제, 도 10A-B를 참조하면, 본 발명의 소정 실시예들에 따라 CABAC 구성 절차를 수행하기 위한 소정의 기술들을 나타내는 도면들이 도시되어 있다. 도 10A-B의 실시예들은 설명의 목적으로 제공되며, 대안 실시예들에서 본 발명은 도 10A-B와 관련하여 설명되는 소정의 기술들 및 구성들에 더하거나 대신하는 기술들 및 구성들을 이용하여 CABAC 구성 절차들을 수행할 수 있다.
소정 실시예들에서, 본 발명은 이롭게도 개별 데이터 타일들에 대한 본 발명의 특정 데이터 포맷을 수용하도록 표준 CABAC 인코더를 구성(개량)한다. 입력 데이터는, 입력 포맷이 CABAC 인코더가 통상적으로 사용되는 표준 데이터 포맷과 다른 경우에도 표준 상용 CABAC 엔진에 의해 성공적으로 처리되도록 포맷된다. 따라서, 본 발명은 표준 CABAC 엔진들의 통상의 구성을 그들의 특정 응용에서의 보다 효과적이고 유연한 사용을 위해 변경한다.
CABAC 구성 절차로 인해, 본 발명은 CABAC 인코더를 이용하여 타일들로부터 매크로블록들을 호출하여 처리할 수 있다. 소정 실시예들에서, 타일들은 통상적으로 128X128 픽셀들인 반면, CABAC 엔진들은 통상적으로 대응하는 완전한 프레임들로부터의 16X16 픽셀들의 매크로블록들을 처리한다. 본 발명은 타일을 CABAC 프레임으로 간주하고 타일을 16X16 매크로블록들로 분할함으로써 그의 타일 데이터를 CABAC 환경에 맞추도록 CABAC 엔진을 구성한다.
또한, CABAC 인코더는 통상적으로 Y, U 및 V 컴포넌트들을 함께 처리하지만, 본 발명은 개별 처리를 위해 YUV 컴포넌트들을 CABAC 인코더에 개별 엔티티들로서 제공한다. 따라서, 본 발명은 데이터 포맷이 표준 CABAC 입력 데이터 포맷과 상당히 다른 경우에도 CABAC 인코더들이 비표준 입력 데이터를 성공적으로 처리할 수 있도록 입력 데이터를 조작한다.
도 10A는 H.264 CABAC 엔진의 표준 구성의 부분 알고리즘이다. 코딩된 블록 패턴(1014)은 얼마나 많은 타입의 상이한 칼라 컴포넌트들(YUV)이 동시에 처리되는지를 지정한다. 본 발명에 따르면, 코딩된 블록 패턴(1014)은 YUV 컴포넌트들의 개별적 처리를 허가하도록 선택될 수 있다. MB 타입(1012)은 처리될 매크로블록들의 타입들을 지정한다. 본 발명에 따르면, I 프레임들만이 선택될 수 있다(P 또는 B 프레임들은 선택되지 않음).
도 10B는 본 발명의 일 실시예에 따른 CABAC 구성 파라미터들의 바람직한 세트를 나타낸다. 시퀀스 헤더 파라미터들(1050)은 입력 데이터의 프레임들의 그룹들에 대한 구성 파라미터들이고, 픽처 헤더 파라미터들(1052)은 입력 데이터의 개별 프레임들에 대한 구성 파라미터들이다. 마찬가지로, 슬라이스 헤더 파라미터들(1054)은 입력 데이터의 개별 타일들에 대한 구성 파라미터들이고, 매크로블록 헤더 파라미터들은 타일들로부터의 개별 매크로블록들(예를 들어, 16X16 픽셀들의 블록)에 대한 구성 파라미터들이다.
도 10A의 H.264 CABAC 인코딩 알고리즘에 대한 흐름도는 통상적으로 비디오 포맷들에 특유한 특정 타입들 및 옵션들을 이용하여 (양자화된 계수들, 운동 벡터들, 프레임 타입 등과 같은) 비디오 데이터를 인코딩하는 데 사용된다. 이미지 데이터의 인코딩을 위해 동일한 알고리즘을 이용하기 위해, H.264 CABAC 인코딩 알고리즘을 계속 이용하면서 동작 파라미터들을 특별하고 고유한 방식으로 구성할 수 있다.
도 10B의 실시예에서, (양자화된 계수들, 타일 크기, 양자화 파라미터 등과 같은) 타일들에 대한 정보는 특정 경로들 및 정의들을 선택함으로써 (H.264 CABAC 알고리즘을 계속 이용하면서) 인코딩된다. 각각의 타일은 슬라이스인 것으로 간주된다. 주어진 타일의 부대역들 모두는 함께 그룹화되어, 대응 타일과 동일한 크기의 이미지를 형성한다. 이어서, 이러한 부대역들의 그룹은 CABAC 인코딩 알고리즘과 호환가능한 매크로블록들로 분할된다.
도 10B의 실시예에서, 매크로블록들 모두는 mb_type(1058)을 Intra_16x16 또는 Intra_4x4와 동일하게 설정함으로써 인트라블록들(intrablocks)로서 코딩된다. 압축 특성을 향상시키기 위해, intra_chroma_pred_mode는 0으로 선택될 수 있다. 칼라 컴포넌트들 YUV는 각각의 컴포넌트에 대한 coded_block_pattern(1060)을 OxF가 되도록 정의함으로써, 그리고/또는 시퀀스 헤더 파라미터(1050)에서 적절한 프로파일 ID를 선택함으로써 개별적으로 인코딩된다. 전술한 구성 단계들은 필요한 경우에 칼라 컴포넌트들 YUV의 개별적 디코딩을 용이하게 한다.
이제, 도 11을 참조하면, 본 발명의 일 실시예에 따라 인코딩 절차를 수행하기 위한 방법 단계들의 흐름도가 도시되어 있다. 도 11의 예는 설명의 목적으로 제공되며, 대안 실시예들에서 본 발명은 도 11의 실시예와 관련하여 설명되는 소정의 단계들 및 시퀀스들과 다른 단계들 및 시퀀스들을 쉽게 이용할 수 있다.
도 11의 실시예에서, 단계 1112에서, 인코딩 시스템(100)은 먼저 입력 데이터를 수신하고, 그에 응답하여 입력 데이터가 다수의 이미지를 포함하는지를 결정한다. 단일 이미지 소스만이 수신되는 경우, 단계 1114에서, 인코딩 시스템(100)은 다수의 인코더가 이미지의 처리에 이용될 수 있는지를 결정한다. 다수의 인코더가 이용 가능한 경우, 단계 1118에서, 인코딩 시스템(100)은 상이한 칼라 컴포넌트들의 개별 타일들을 개별적으로 그리고 동시에 병렬 방식으로 처리하도록 인코더들을 할당한다.
대안으로, 다수의 이미지가 수신되는 경우, 단계 1122에서, 인코딩 시스템(100)은 다수의 인코더가 이미지들의 처리에 이용 가능한지를 결정한다. 다수의 인코더가 이용 가능한 경우, 단계 1126에서, 인코딩 시스템(100)은 다수의 이미지를 개별적으로 그리고 동시에 병렬 방식으로 처리하도록 인코더들을 할당한다. 다수의 인코더가 이용가능하지 않은 경우, 단계 1130에서, 인코딩 시스템(100)은 다수의 이미지가 인코딩 프로세스를 통과하게 하기 위한 파이프라이닝 절차를 수행한다.
도 11의 실시예에서, 단계 1134에서, 인코딩 시스템(100)은 CABAC 인코딩/디코딩이 지원되는지를 결정한다. CABAC 인코딩/디코딩이 이용가능한 경우, 단계 1142에서, 인코딩 시스템(100)은 CABAC 인코더(516)를 이용하여 엔트로피 인코딩 절차를 수행한다. 그러나, CABAC 인코딩/디코딩이 이용가능하지 않은 경우, 단계 1138에서, 인코딩 시스템(100)은 RLE 인코더(520)를 이용하여 엔트로피 인코딩 절차를 수행한다.
도 11의 실시예에서, 단계 1146에서, 인코딩 시스템은 양자화기(111; 도 1)의 특정 압축비(115)에 대응하는 초기 이미지 품질 레벨로 양자화 파라미터를 설정한다. 이어서, 단계 1150에서, 인코딩 시스템(100)은 이미지(들)를 사전 결정된 인코딩 포맷으로 인코딩한다. 단계 1154에서, 인코딩 시스템(100)은 이미지들이 파이프라이닝되는지를 결정한다. 이미지들이 파이프라이닝되지 않는 경우, 인코딩 시스템(100)은 인코딩된 데이터(114)를 적절한 데이터 목적지로 출력한다. 대안으로, 이미지들이 파이프라이닝되는 경우, 단계 1158에서, 인코딩 시스템(100)은 인코딩된 데이터(114)를 적절한 데이터 목적지로 출력하기 전에 인코딩된 데이터(114)를 배열한다.
도 11의 실시예에서, 단계 1160에서, 인코딩 시스템(100)은 출력 이미지들의 압축량 및 품질이 수용가능한지를 결정한다. 사전 정의된 기준들에 따라 압축량 및 품질이 수용가능하지 않은 경우, 단계 1164에서, 인코딩 시스템(100)은 양자화기(111)의 압축비를 변경하여 인코딩 압축의 양 및 품질을 변경하기 위해 피드백 루프를 동적으로 이용하여 양자화 파라미터(115)를 조정한다.
이제, 도 12를 참조하면, 본 발명의 일 실시예에 따라 디코딩 절차를 수행하기 위한 방법 단계들의 흐름도가 도시되어 있다. 도 12의 예는 설명의 목적으로 제공되며, 대안 실시예들에서 본 발명은 도 12의 실시예와 관련하여 설명되는 소정의 단계들 및 시퀀스들과 다른 단계들 및 시퀀스들을 쉽게 이용할 수 있다.
도 12의 실시예에서, 디코딩 시스템(200)은 먼저 인코딩된 데이터(114) 형태의 입력 데이터를 수신한다. 이어서, 단계 1212에서, 디코딩 시스템(200)은 다수의 디코더가 인코딩된 데이터(114)의 처리에 이용될 수 있는지를 결정한다. 다수의 디코더가 이용가능한 경우, 단계 1216에서, 디코딩 시스템(200)은 상이한 칼라 컴포넌트들의 개별 타일들을 개별적으로 그리고 동시에 병렬 방식으로 처리하도록 디코더들을 할당한다. 도 12의 실시예에서, 이어서 단계 1220에서, 디코딩 시스템(200)은 이미지 데이터를 사전 결정된 방식으로 디코딩하여 재구성된 이미지(212)를 생성한다. 이어서, 디코딩 시스템(200)은 재구성된 이미지(212)를 임의의 적절한 데이터 목적지(들)로 출력한다.
이제, 도 13을 참조하면, 본 발명의 일 실시예에 따라 인코딩 절차를 수행하기 위한 방법 단계들의 흐름도가 도시되어 있다. 도 13의 예는 설명의 목적으로 제공되며, 대체 실시예들에서, 본 발명은 도 13의 실시예와 관련하여 설명되는 소정 단계들 및 시퀀스들과 다른 단계들 및 시퀀스들을 쉽게 이용할 수 있다.
도 13의 실시예에서, 단계 1312에서, 인코딩 시스템(100)은 먼저 임의의 적절한 데이터 소스로부터 소스 이미지(101)를 수신한다. 소스 이미지(101)는 임의의 원하는 데이터 포맷에 따라 구성될 수 있다. 예를 들어, 소정 실시예들에서, 소스 이미지(101)는 공지된 RGB 포맷의 디지털 픽셀들의 어레이로서 구현될 수 있다. 단계 1316에서, 인코딩 시스템(100)은 타일링 모듈(102)을 이용하여, 소스 이미지(101)를, 소스 이미지(101)로부터의 이미지 데이터의 인접 섹션들로서 구현되는 개별 타일들로 분할한다.
단계 1320에서, 인코딩 시스템(100)은 소스 이미지(101)로부터 현재 타일을 선택한다. 이어서, 단계 1324에서, 프레임 구별 모듈(104)은 현재 타일을 이전 프레임(105)으로부터의 대응 비교 타일과 비교하여, 현재 타일이 바로 앞의 프레임(105)으로부터의 비교 타일에 관하여 변경되었는지를 결정한다. 현재 타일 내의 픽셀들이 변경되지 않은 경우, 프레임 구별 모듈(104)은 현재 타일을 출력하지 않는다. 대신, 단계 1328에서, 프레임 구별 모듈(104)은 소스 이미지(101)로부터 (이용 가능한 경우) 다음 타일에 액세스하며, 도 13의 프로세스는 이전 단계 1324를 반복하도록 복귀한다.
그러나, 단계 1324에서, 현재 타일 내의 하나 이상의 픽셀이 변경된 경우, 프레임 구별 모듈(104)은 대응 타일을 DC 시프트 모듈(107)로 출력하며, DC 시프트 모듈(107)은 프레임 구별 모듈(104)로부터 출력되는 타일들로부터의 각각의 픽셀에 일정 DC 전압 값을 더한다. 단계 1336에서, 칼라 변환기(108)는 변경된 타일들의 각각을 제1 칼라 포맷으로부터, 인코딩 시스템(100)에 의한 추가 처리에 적합한 제2 칼라 포맷으로 변환한다. 예를 들어, 소정 실시예들에서, 소스 이미지(101)는 처음에 RGB 포맷으로 수신될 수 있으며, 이에 따라 칼라 변환기(108)는 대응 YUV 포맷으로 변환한다.
도 13의 실시예에서, 이산 웨이블릿 변환 모듈(DWT)(110)은 공지된 이산 웨이블릿 변환 절차(DWT)를 수행하여, 타일들의 개별 칼라 컴포넌트들을 대응 칼라 부대역들로 변환한다. 이어서, 양자화기 모듈(111)은 적절한 양자화 기술들을 이용하여 칼라 부대역들을 압축함으로써 양자화 절차를 수행한다. 도 13의 실시예에서, 양자화기(111)는 적응성 양자화 파라미터(115)에 의해 지정되는 특정 압축비에 따라 칼라 부대역들의 비트 레이트를 줄임으로써 압축된 이미지 데이터(112)를 생성한다.
도 13의 실시예에서, 이어서 단계 1348에서, 적응성 엔트로피 선택기(512)는 소정의 사전 결정된 인코딩 모드 기준들에 기초하여 엔트로피 인코딩 절차를 수행하는 데 적합한 엔트로피 모드(CABAC 모드 또는 RLE 모드)를 선택한다. CABAC 모드가 선택되는 경우, 단계 1352에서, 인코딩 시스템(100)은 이롭게도 양자화기(111)로부터 수신되는 압축된 이미지 데이터(112)를 최적으로 처리하도록 CABAC 인코더(516)를 동작시키기 위한 소정의 특정 구성 파라미터들을 정의하는 CABAC 구성 절차를 수행한다.
도 13의 실시예에서, 단계 1356에서, 엔트로피 인코더(113)는 이전 단계 1348에서 선택된 엔트로피 모드(CABAC 모드 또는 RLE 모드)를 이용하여 압축된 데이터(112) 상에 엔트로피 인코딩 절차를 수행한다. 이어서, 단계 1360에서, 인코딩 시스템(100)은 임의의 적절한 데이터 목적지(들)로 제공할 인코딩된 데이터(114)를 수집할 수 있다. 이 시점에서, 도 13의 프로세스는 프레임 구별 모듈(104)이 (임의의 처리되지 않은 타일이 남아 있는 경우에) 소스 이미지(101)로부터의 다음 타일에 액세스하는 단계 1328로 복귀함으로써 추가 타일들에 대하여 반복될 수 있다.
도 13의 실시예에서, 단계 1364에서, 인코딩 시스템(100)은 인코딩된 데이터(114)의 품질 및 비트 레이트가 하나 이상의 미리 정의된 이미지 평가 기준에 비추어 수용가능한지를 초기에 결정함으로써 비트 레이트 제어 절차를 더 수행할 수 있다. 단계 1364에서, 인코딩 시스템(100)이 인코딩된 데이터(114)의 품질 및 비트 레이트가 수용가능하지 않은 것으로 결정하는 경우, 단계 1368에서, 엔트로피 인코더(113)의 비트 레이트 제어기는 피드백 루프를 통해 적응성 양자화 파라미터(115)를 양자화기(111)에 제공하여, 적응성 양자화 파라미터(115)에 의해 지정되는 특정 압축비에 따라 압축된 이미지 데이터(112)의 비트 레이트를 변경한다. 따라서, 본 발명은 전자 정보를 효과적으로 인코딩 및 디코딩하기 위한 개량된 시스템 및 방법을 제공한다.
본 발명은 소정 실시예들을 참조하여 위에 설명되었다. 본 개시에 비추어 다른 실시예들이 이 분야의 전문가들에게 명백할 것이다. 예를 들어, 본 발명은 위의 실시예들에서 개시된 것들과 다른 구성들 및 기술들을 이용하여 쉽게 구현될 수 있다. 또한, 본 발명은 위에 설명된 것들과 다른 시스템들과 연계하여 효과적으로 이용될 수 있다. 따라서, 설명된 실시예들에 대한 이들 및 다른 변형들은 첨부된 청구범위에 의해서만 한정되는 본 발명에 의해 커버되는 것을 의도한다.

Claims (31)

  1. 인코딩 시스템을 이용하여 전자 정보를 처리하기 위한 시스템으로서,
    데이터 소스로부터 소스 데이터를 수신하도록 구성되는 입력 수단;
    상기 소스 데이터를 데이터 타일들로 분할하기 위해 상기 입력 수단에 결합되는 타일링 모듈;
    상기 데이터 타일들을 타일 컴포넌트들로 처리하기 위해 상기 타일링 모듈에 결합되는 처리 수단; 및
    상기 타일 컴포넌트들을 인코딩된 데이터로 인코딩하도록 구성되는 인코딩 수단을 포함하고,
    상기 인코딩 수단은 사전 결정된 모드 선택 기준에 기초하여 인코딩 모드를 선택하여 데이터 인코딩 절차를 수행하는 전자 정보 처리 시스템.
  2. 제1항에 있어서, 상기 데이터 소스로부터의 상기 소스 데이터는 디지털 이미지 데이터 포맷으로 구성되는 이미지 데이터를 포함하는 전자 정보 처리 시스템.
  3. 제2항에 있어서, 상기 데이터 타일들은 상기 소스 데이터의 인접 픽셀 세그먼트들의 그룹으로서 구현되는 전자 정보 처리 시스템.
  4. 제1항에 있어서, 상기 처리 수단은 상기 소스 데이터의 현재 프레임으로부터 의 현재 데이터 타일들과 상기 소스 데이터의 이전 프레임으로부터의 유사 위치(similarly-located) 비교 타일들을 비교하는 프레임 구별 모듈을 포함하는 전자 정보 처리 시스템.
  5. 제4항에 있어서, 상기 프레임 구별 모듈은 상기 소스 데이터의 상기 이전 프레임으로부터의 상기 유사 위치 비교 타일들과 구별되는 상기 현재 프레임으로부터의 변경된 타일들만을 출력함으로써 인코딩을 필요로 하는 타일들의 총 수를 줄이는 전자 정보 처리 시스템.
  6. 제5항에 있어서, 디코딩 시스템의 프레임 재구성기가 프레임 재구성 절차를 수행하여, 상기 변경된 타일들로 그리고 디코딩된 데이터의 이전 프레임으로부터의 나머지 변경되지 않은 타일들로 채워지는 현재의 디코딩된 프레임을 재생하는 전자 정보 처리 시스템.
  7. 제1항에 있어서, DC 시프트 모듈이 상기 타일링 모듈로부터 출력되는 상기 데이터 타일들로부터의 각각의 픽셀에 일정 DC 전압 값을 더하는 전자 정보 처리 시스템.
  8. 제1항에 있어서, 칼라 변환기가 상기 데이터 타일들의 각각을 제1 칼라 포맷으로부터 제2 칼라 포맷의 상기 타일 컴포넌트들로 변환하는 전자 정보 처리 시스 템.
  9. 제8항에 있어서, 상기 칼라 변환기는 상기 데이터 타일들의 각각을 RGB 포맷으로부터 YUV 포맷의 상기 타일 컴포넌트들로 변환하는 전자 정보 처리 시스템.
  10. 제1항에 있어서, 상기 소스 데이터는 다수의 이미지를 포함하고, 상기 인코딩 수단은 실질적으로 병렬 구성으로 구성되는 다수의 인코더를 포함하고, 상기 인코딩 수단은 상기 다수의 인코더를 상기 다수의 이미지 중 각각의 이미지를 처리하도록 할당하고, 상기 다수의 인코더는 상기 다수의 이미지를 실질적으로 병렬 방식으로 동시에 처리하는 전자 정보 처리 시스템.
  11. 제1항에 있어서, 상기 인코딩 수단은 실질적으로 병렬 구성으로 구성되는 다수의 인코더를 포함하고, 상기 인코딩 수단은 상기 다수의 인코더를 상기 데이터 타일들 중 각각의 타일을 처리하도록 할당하고, 상기 다수의 인코더는 상기 데이터 타일들 중 상기 각각의 타일을 실질적으로 병렬 방식으로 동시에 처리하는 전자 정보 처리 시스템.
  12. 제11항에 있어서, 실질적으로 병렬 구성으로 구성되는 다수의 디코더를 포함하는 디코딩 수단을 더 포함하고, 상기 디코딩 수단은 상기 다수의 디코더를 상기 데이터 타일들 중 각각의 타일을 처리하도록 할당하고, 상기 다수의 디코더는 상기 데이터 타일들 중 상기 각각의 타일을 실질적으로 병렬 방식으로 동시에 처리하는 전자 정보 처리 시스템.
  13. 제1항에 있어서, 상기 소스 데이터는 다수의 이미지를 포함하고, 상기 인코딩 수단은 상기 다수의 이미지를 동시에 처리하여 인코딩된 이미지들을 생성하는 단일 인코더를 포함하고, 상기 단일 인코더는 상기 인코딩된 이미지들의 각각을 대응 데이터 디코딩 절차들을 수행하기 위한 다수의 디코더 중 상이한 각각의 디코더에 제공하는 전자 정보 처리 시스템.
  14. 제1항에 있어서, 이산 웨이블릿 변환 모듈이 이산 웨이블릿 변환 절차를 수행하여, 상기 타일 컴포넌트들을 대응하는 타일 부대역들로 변환하는 전자 정보 처리 시스템.
  15. 제14항에 있어서, 양자화기 모듈이 양자화 절차를 수행하여, 적응성 양자화 파라미터에 의해 지정되는 압축비에 따라 압축 비트 레이트를 줄임으로써 상기 타일 부대역들을 압축 데이터로 압축하는 전자 정보 처리 시스템.
  16. 제1항에 있어서, 상기 인코딩 수단은 고 대역폭 인코더 및 저 대역폭 인코더를 포함하는 엔트로피 인코더를 포함하고, 상기 고 대역폭 인코더는 상기 저 대역폭 인코더보다 큰 전송 대역폭 요건들을 갖는 전자 정보 처리 시스템.
  17. 제16항에 있어서, 상기 고 대역폭 인코더는 H.264/AVC 비디오 압축 표준에 따라 주로 하드웨어 회로로서 구현되는 컨텍스트 기반 적응성 이진 산술 코딩(Context-Based Adaptive Binary Arithmetic Coding; CABAC) 인코더를 포함하는 전자 정보 처리 시스템.
  18. 제16항에 있어서, 상기 저 대역폭 인코더는 주로 실행 가능 소프트웨어 명령어들로서 구현되는 실행 길이(Run-Length) 인코딩 시스템을 포함하는 전자 정보 처리 시스템.
  19. 제16항에 있어서, 상기 엔트로피 인코더는 상기 엔트로피 인코더에 대한 이용 가능 전송 대역폭을 모니터링하는 적응성 엔트로피 선택기를 포함하고, 상기 적응성 엔트로피 선택기는 상기 이용 가능 전송 대역폭의 현재의 양에 기초하여 상기 고 대역폭 인코더와 상기 저 대역폭 인코더 사이에서 동적으로 선택하는 전자 정보 처리 시스템.
  20. 제16항에 있어서, 상기 엔트로피 인코더는 상기 고 대역폭 인코더가 관련 인코딩 및 디코딩 시스템들에서 지원되는지를 결정하는 적응성 엔트로피 선택기를 포함하고, 상기 적응성 엔트로피 선택기는 상기 고 대역폭 인코더가 상기 관련 인코딩 및 디코딩 시스템들에서 지원되지 않는 경우에 상기 저 대역폭 인코더를 동적으 로 선택하는 전자 정보 처리 시스템.
  21. 제16항에 있어서, 고 대역폭 디코더 및 저 대역폭 디코더를 포함하는 엔트로피 디코더를 포함하는 디코딩 시스템을 더 포함하고, 상기 엔트로피 디코더는 상기 인코딩된 데이터의 대응 인코딩 포맷에 기초하여 상기 고 대역폭 디코더와 상기 저 대역폭 디코더 사이에서 동적으로 선택하는 전자 정보 처리 시스템.
  22. 제21항에 있어서, 상기 고 대역폭 디코더는 H.264/AVC 비디오 압축 표준에 따라 주로 하드웨어 회로로서 구현되는 컨텍스트 기반 적응성 이진 산술 코딩 시스템을 포함하는 전자 정보 처리 시스템.
  23. 제21항에 있어서, 상기 저 대역폭 디코더는 주로 실행 가능 소프트웨어 명령어들로서 구현되는 실행 길이 인코더 디코딩 시스템을 포함하는 전자 정보 처리 시스템.
  24. 제1항에 있어서, 상기 인코딩 수단은 상기 인코딩된 데이터의 품질 특성을 모니터링하는 레이트 제어기를 포함하는 엔트로피 인코더를 포함하고, 상기 레이트 제어기는 조정 가능한 양자화 파라미터를 피드백 루프를 통해 양자화기에 응답적으로 제공하여, 상기 인코딩된 데이터의 압축 특성을 동적으로 제어하는 전자 정보 처리 시스템.
  25. 제1항에 있어서, 상기 인코딩 수단은 엔트로피 인코더를 포함하고, 상기 엔트로피 인코더는 상기 엔트로피 인코더가 표준 상용(standard commercially-available) 컴포넌트로서 구현되는 것을 용이하게 하는 인코더 구성 절차에 따라 구성되며, 상기 인코더 구성 절차는 상기 엔트로피 인코더가 하나 이상의 비표준 데이터 포맷을 성공적으로 처리하는 것을 가능하게 하도록 수행되는 전자 정보 처리 시스템.
  26. 제25항에 있어서, 상기 엔트로피 인코더는 H.264/AVC 비디오 압축 표준에 따라 주로 하드웨어 회로로서 구현되는 컨텍스트 기반 적응성 이진 산술 코딩 시스템을 포함하는 전자 정보 처리 시스템.
  27. 제25항에 있어서, 상기 인코딩 구성 절차는 프로그램 가능 인코더 구성 파라미터들에 따라 타일 정보가 인코딩되게 하고, 상기 타일 정보는 양자화된 계수들, 타일 크기 및 양자화 파라미터를 포함하고, 상기 인코더 구성 절차는 상기 데이터 타일들 각각을 슬라이스로서 정의하고, 상기 인코더 구성 절차는 상기 데이터 타일들의 모든 부대역을 함께, 상기 데이터 타일들과 동일한 데이터 크기를 갖는 부대역 그룹으로 그룹화하고, 상기 인코더 구성 절차는 상기 부대역 그룹이 상기 엔트로피 인코더와 호환되는 매크로블록들로 분할되게 하는 전자 정보 처리 시스템.
  28. 제25항에 있어서, 상기 인코더 구성 절차는 입력 데이터의 프레임들의 그룹들에 대한 시퀀스 헤더 파라미터들, 입력 데이터의 개별 프레임들에 대한 픽처 헤더 파라미터들, 입력 데이터의 개별 타일들에 대한 슬라이스 헤더 파라미터들, 및 개별 매크로블록들에 대한 매크로블록 헤더 파라미터들을 포함하는 프로그램 가능 인코더 구성 파라미터들을 정의하고, 상기 매크로블록 헤더 파라미터들은 YUV 컴포넌트들의 개별적 인코딩을 허가하도록 프로그래밍되는 코딩된 블록 패턴 파라미터를 포함하고, 상기 매크로블록 헤더 파라미터들은 I 프레임들만이 매크로블록들로서 인코딩되는 것을 지정하도록 프로그래밍되는 MB 타입 파라미터를 더 포함하는 전자 정보 처리 시스템.
  29. 제1항에 있어서, 상기 인코딩된 데이터 상에 디코딩 절차를 수행하는 디코딩 시스템을 더 포함하고, 상기 디코딩 시스템은 상기 인코딩 시스템에 의해 수행된 개별 프로세스 단계들을 역전시켜 상기 소스 데이터를 재생하는 전자 정보 처리 시스템.
  30. 제1항에 있어서, 상기 인코딩 시스템은 중앙 처리 유닛 및/또는 그래픽 처리 유닛을 또한 포함하는 시스템-온-칩(SOC) 장치에서 구현되고, 상기 그래픽 처리 유닛은 이산 웨이블릿 변환 분석 기능을 프로그램적으로 수행하여 부대역들을 양자화기에 공급하고, 상기 그래픽 처리 유닛은 또한 상기 양자화기로부터 수신되는 압축된 데이터로부터 인코딩된 데이터를 생성하기 위한 CABAC 인코더를 포함하는 전자 정보 처리 시스템.
  31. 시스템-온-칩(SOC) 장치로서,
    CABAC 디코더를 포함하는 디코딩 시스템 - 상기 CABAC 디코더는 상기 디코딩 시스템의 웨이블릿 기반 디코딩 프로세스에 관여함 -; 및
    상기 디코딩 시스템과 상기 CABAC 디코더를 공유하도록 구성되는 H.264 정수 변환 디코더를 포함하고,
    상기 CABAC 디코더는 이산 웨이블릿 변환 모드로 웨이블릿 기반 타일들을 처리하기 위해 프로그램 제어하에 동작하고, 상기 CABAC 디코더는 H.264 정수 변환 모드로 개별 비디오 비트스트림을 교대로 처리하는 시스템-온-칩 장치.
KR1020097010208A 2006-11-09 2007-10-19 전자 정보의 효과적 인코딩 및 디코딩을 위한 시스템 및 방법 KR101365869B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/595,505 2006-11-09
US11/595,505 US7460725B2 (en) 2006-11-09 2006-11-09 System and method for effectively encoding and decoding electronic information
PCT/US2007/022331 WO2008063334A2 (en) 2006-11-09 2007-10-19 System and method for effectively encoding and decoding electronic information

Publications (2)

Publication Number Publication Date
KR20090085628A true KR20090085628A (ko) 2009-08-07
KR101365869B1 KR101365869B1 (ko) 2014-02-25

Family

ID=39369198

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097010208A KR101365869B1 (ko) 2006-11-09 2007-10-19 전자 정보의 효과적 인코딩 및 디코딩을 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US7460725B2 (ko)
EP (2) EP2442574A1 (ko)
JP (1) JP4744634B2 (ko)
KR (1) KR101365869B1 (ko)
CN (1) CN101601307B (ko)
WO (1) WO2008063334A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110114793A (ko) * 2010-04-14 2011-10-20 삼성전자주식회사 가상 세계 처리 장치 및 방법
WO2013115606A1 (ko) * 2012-02-04 2013-08-08 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
KR102012589B1 (ko) * 2018-03-22 2019-08-20 주식회사 엘지유플러스 영상 생성 장치 및 방법

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2150061A4 (en) * 2007-05-21 2011-07-20 Nec Corp VIDEO CODING DEVICE, VIDEO CODING METHOD, AND VIDEO CODING PROGRAM
US8305387B2 (en) * 2007-09-07 2012-11-06 Texas Instruments Incorporated Adaptive pulse-width modulated sequences for sequential color display systems
GB2457646B (en) * 2007-10-30 2010-03-03 Imagination Tech Ltd Method and apparatus for compressing and decompressing data
US8145794B2 (en) 2008-03-14 2012-03-27 Microsoft Corporation Encoding/decoding while allowing varying message formats per message
US8542748B2 (en) * 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
US7733245B2 (en) * 2008-06-25 2010-06-08 Aclara Power-Line Systems Inc. Compression scheme for interval data
US8548297B2 (en) * 2008-09-11 2013-10-01 Nice Systems Ltd. Method and system for utilizing storage in network video recorders
US20110194616A1 (en) * 2008-10-01 2011-08-11 Nxp B.V. Embedded video compression for hybrid contents
KR101590633B1 (ko) * 2008-11-11 2016-02-02 삼성전자주식회사 슬라이스 단위로 분할된 동영상을 처리하는 동영상 부호화/복호화장치 및 동영상 부호화/복호화방법
JP4760902B2 (ja) * 2008-12-17 2011-08-31 ソニー株式会社 情報処理装置および方法
US20100226441A1 (en) * 2009-03-06 2010-09-09 Microsoft Corporation Frame Capture, Encoding, and Transmission Management
US20100225655A1 (en) * 2009-03-06 2010-09-09 Microsoft Corporation Concurrent Encoding/Decoding of Tiled Data
US8638337B2 (en) * 2009-03-16 2014-01-28 Microsoft Corporation Image frame buffer management
KR101038531B1 (ko) 2009-06-25 2011-06-02 한양대학교 산학협력단 복호화시 병렬처리가 가능한 영상 부호화 장치 및 방법, 그리고 병렬처리가 가능한 영상 복호화 장치 및 방법
WO2011002914A1 (en) * 2009-06-30 2011-01-06 Massachusetts Institute Of Technology System and method for providing high throughput entropy coding using syntax element partitioning
US9075560B2 (en) * 2009-12-10 2015-07-07 Microsoft Technology Licensing, Llc Real-time compression with GPU/CPU
US9146884B2 (en) * 2009-12-10 2015-09-29 Microsoft Technology Licensing, Llc Push pull adaptive capture
US20120044987A1 (en) * 2009-12-31 2012-02-23 Broadcom Corporation Entropy coder supporting selective employment of syntax and context adaptation
US9137338B2 (en) 2010-01-22 2015-09-15 Microsoft Technology Licensing, Llc Multi-link remote protocol
US8463918B2 (en) 2010-01-22 2013-06-11 Microsoft Corporation Loss tolerant protocol for remoting desktop graphics
US9235452B2 (en) * 2010-02-05 2016-01-12 Microsoft Technology Licensing, Llc Graphics remoting using augmentation data
US20110202509A1 (en) * 2010-02-16 2011-08-18 Microsoft Corporation Efficient extraction and compression of data
US20120082395A1 (en) * 2010-09-30 2012-04-05 Microsoft Corporation Entropy Coder for Image Compression
US9313514B2 (en) 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
KR101878362B1 (ko) * 2010-11-26 2018-08-07 엘지디스플레이 주식회사 영상표시장치 및 그 구동방법
US8886699B2 (en) 2011-01-21 2014-11-11 Cloudium Systems Limited Offloading the processing of signals
DK2700234T3 (da) * 2011-04-22 2019-07-22 Dolby Int Ab Fremgangsmåde og indretning til komprimeret kodning med tab af data
US9058223B2 (en) 2011-04-22 2015-06-16 Microsoft Technology Licensing Llc Parallel entropy encoding on GPU
JP5436501B2 (ja) * 2011-07-20 2014-03-05 日本電信電話株式会社 映像符号化装置及び映像復号装置
PL2744202T3 (pl) 2011-08-11 2020-12-28 Sun Patent Trust Sposób kodowania obrazów, sposób dekodowania obrazów, urządzenie do kodowania obrazów, urządzenie do dekodowania obrazów oraz urządzenie do kodowania/dekodowania obrazów
JP6056124B2 (ja) * 2011-09-05 2017-01-11 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
US9712847B2 (en) * 2011-09-20 2017-07-18 Microsoft Technology Licensing, Llc Low-complexity remote presentation session encoder using subsampling in color conversion space
JP6080375B2 (ja) 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9148670B2 (en) 2011-11-30 2015-09-29 Freescale Semiconductor, Inc. Multi-core decompression of block coded video data
JP2015507899A (ja) 2012-01-20 2015-03-12 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 並列処理を許容している符号化概念、トランスポートデマルチプレクサおよびビデオビットストリーム
US8958474B2 (en) 2012-03-15 2015-02-17 Virtualinx, Inc. System and method for effectively encoding and decoding a wide-area network based remote presentation session
EP4376413A1 (en) * 2012-04-13 2024-05-29 JVCKenwood Corporation Picture decoding device, picture decoding method, picture decoding program, picture coding device, picture coding method, and picture coding program
US9124872B2 (en) * 2012-04-16 2015-09-01 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
KR101966064B1 (ko) * 2012-09-06 2019-04-05 삼성전자주식회사 파이프라인 디코딩을 위한 비트스트림 처리 장치 및 이를 포함하는 멀티미디어 장치
US20140072027A1 (en) * 2012-09-12 2014-03-13 Ati Technologies Ulc System for video compression
AU2012390328A1 (en) * 2012-09-18 2015-04-09 Razer (Asia-Pacific) Pte. Ltd. Computing systems, peripheral devices and methods for controlling a peripheral device
US9129581B2 (en) 2012-11-06 2015-09-08 Aspeed Technology Inc. Method and apparatus for displaying images
US9819965B2 (en) 2012-11-13 2017-11-14 Intel Corporation Content adaptive transform coding for next generation video
KR20140088924A (ko) * 2012-12-14 2014-07-14 삼성전자주식회사 이미지 데이터 표시장치 및 방법
US9087410B2 (en) * 2013-01-17 2015-07-21 Qualcomm Incorporated Rendering graphics data using visibility information
EP2951999A4 (en) * 2013-01-30 2016-07-20 Intel Corp CONTENT PARAMETRIC TRANSFORMATIONS FOR CODING VIDEOS OF THE NEXT GENERATION
JP2014200075A (ja) * 2013-03-15 2014-10-23 株式会社リコー コンピュータシステム、配信制御システム、配信制御方法、及びプログラム
US11425395B2 (en) 2013-08-20 2022-08-23 Google Llc Encoding and decoding using tiling
US20160191922A1 (en) * 2014-04-22 2016-06-30 Mediatek Inc. Mixed-level multi-core parallel video decoding system
US9626733B2 (en) * 2014-11-24 2017-04-18 Industrial Technology Research Institute Data-processing apparatus and operation method thereof
US20160227235A1 (en) * 2015-02-02 2016-08-04 Yaniv Frishman Wireless bandwidth reduction in an encoder
CN108292442B (zh) * 2015-09-30 2021-10-01 雷蛇(亚太)私人有限公司 信息编码方法、信息解码方法、计算机可读介质、信息编码器及信息解码器
CN107438056B (zh) * 2016-05-26 2021-02-09 深圳富泰宏精密工业有限公司 VoIP通讯模组、电子装置及VoIP通讯方法
US10838922B2 (en) * 2017-03-31 2020-11-17 International Business Machines Corporation Data compression by using cognitive created dictionaries
GB2569610B (en) 2017-12-21 2022-10-19 Displaylink Uk Ltd Image compression
CN108156462A (zh) * 2017-12-28 2018-06-12 上海通途半导体科技有限公司 一种图像压缩、解压缩方法、系统及其应用的me架构
US11223838B2 (en) * 2019-05-26 2022-01-11 Alibaba Group Holding Limited AI-assisted programmable hardware video codec
KR20220083385A (ko) * 2020-12-11 2022-06-20 삼성전자주식회사 부호 및 복호를 수행하는 디스플레이 구동 회로 및 이의 방법
US20210120259A1 (en) * 2020-12-23 2021-04-22 Intel Corporation Technologies for memory-efficient video encoding and decoding
CN114245142A (zh) * 2022-01-18 2022-03-25 广州博冠光电科技股份有限公司 一种用于超高清摄像机高帧率压缩编码的实现系统及方法

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US684277A (en) * 1901-04-09 1901-10-08 Samuel B Loye Leather-trimming tool.
US5624265A (en) * 1994-07-01 1997-04-29 Tv Interactive Data Corporation Printed publication remote contol for accessing interactive media
US5602589A (en) * 1994-08-19 1997-02-11 Xerox Corporation Video image compression using weighted wavelet hierarchical vector quantization
US6873734B1 (en) * 1994-09-21 2005-03-29 Ricoh Company Ltd Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
US5828421A (en) * 1994-10-11 1998-10-27 Hitachi America, Ltd. Implementation efficient digital picture-in-picture decoding methods and apparatus
US5910776A (en) * 1994-10-24 1999-06-08 Id Technologies, Inc. Method and apparatus for identifying locating or monitoring equipment or other objects
GB2295936B (en) * 1994-12-05 1997-02-05 Microsoft Corp Progressive image transmission using discrete wavelet transforms
US5708961A (en) * 1995-05-01 1998-01-13 Bell Atlantic Network Services, Inc. Wireless on-premises video distribution using digital multiplexing
JP3213222B2 (ja) * 1995-11-02 2001-10-02 株式会社リコー 符号化方法
US6437803B1 (en) * 1998-05-29 2002-08-20 Citrix Systems, Inc. System and method for combining local and remote windows into a single desktop environment
US6075906A (en) * 1995-12-13 2000-06-13 Silicon Graphics Inc. System and method for the scaling of image streams that use motion vectors
US5977933A (en) * 1996-01-11 1999-11-02 S3, Incorporated Dual image computer display controller
US5850482A (en) * 1996-04-17 1998-12-15 Mcdonnell Douglas Corporation Error resilient method and apparatus for entropy coding
US5852437A (en) * 1996-09-24 1998-12-22 Ast Research, Inc. Wireless device for displaying integrated computer and television user interfaces
US6141447A (en) * 1996-11-21 2000-10-31 C-Cube Microsystems, Inc. Compressed video transcoder
US6031940A (en) * 1996-11-27 2000-02-29 Teralogic, Inc. System and method for efficiently encoding video frame sequences
US5909518A (en) * 1996-11-27 1999-06-01 Teralogic, Inc. System and method for performing wavelet-like and inverse wavelet-like transformations of digital data
JP3339054B2 (ja) * 1997-03-28 2002-10-28 ソニー株式会社 データ符号化方法及び装置、データ復号方法及び装置、並びに記録媒体
US6222885B1 (en) * 1997-07-23 2001-04-24 Microsoft Corporation Video codec semiconductor chip
US6304895B1 (en) * 1997-08-22 2001-10-16 Apex Inc. Method and system for intelligently controlling a remotely located computer
US6275619B1 (en) * 1997-08-29 2001-08-14 Teralogic, Inc. System and method for performing wavelet and inverse wavelet transformations of digital data using semi-orthogonal wavelets
US6768775B1 (en) * 1997-12-01 2004-07-27 Samsung Electronics Co., Ltd. Video CODEC method in error resilient mode and apparatus therefor
US6097441A (en) * 1997-12-31 2000-08-01 Eremote, Inc. System for dual-display interaction with integrated television and internet content
US6104334A (en) * 1997-12-31 2000-08-15 Eremote, Inc. Portable internet-enabled controller and information browser for consumer devices
US7030248B2 (en) * 1998-02-26 2006-04-18 Aminopath Labs, Llc Isolation of natural L-β-3-indolylalanine and enrichment of natural aliphatic amino acid mixtures with natural L-β-3-indolylalanine
US6340994B1 (en) * 1998-08-12 2002-01-22 Pixonics, Llc System and method for using temporal gamma and reverse super-resolution to process images for use in digital display systems
US6456340B1 (en) * 1998-08-12 2002-09-24 Pixonics, Llc Apparatus and method for performing image transforms in a digital display system
US6754266B2 (en) * 1998-10-09 2004-06-22 Microsoft Corporation Method and apparatus for use in transmitting video information over a communication network
US6409602B1 (en) * 1998-11-06 2002-06-25 New Millenium Gaming Limited Slim terminal gaming system
US6853385B1 (en) * 1999-11-09 2005-02-08 Broadcom Corporation Video, audio and graphics decode, composite and display system
US6608630B1 (en) * 1998-11-09 2003-08-19 Broadcom Corporation Graphics display system with line buffer control scheme
US6850649B1 (en) * 1999-03-26 2005-02-01 Microsoft Corporation Image encoding using reordering and blocking of wavelet coefficients combined with adaptive encoding
US6263503B1 (en) * 1999-05-26 2001-07-17 Neal Margulis Method for effectively implementing a wireless television system
US6628716B1 (en) * 1999-06-29 2003-09-30 Intel Corporation Hardware efficient wavelet-based video compression scheme
US6643406B1 (en) * 1999-07-28 2003-11-04 Polaroid Corporation Method and apparatus for performing linear filtering in wavelet based domain
TW444506B (en) * 1999-09-16 2001-07-01 Ind Tech Res Inst Real-time video transmission method on wireless communication networks
US6611530B1 (en) * 1999-09-21 2003-08-26 Hewlett-Packard Development Company, L.P. Video communication using multiple streams
US6834123B2 (en) * 2001-05-29 2004-12-21 Intel Corporation Method and apparatus for coding of wavelet transformed coefficients
KR100677070B1 (ko) * 1999-10-02 2007-02-01 삼성전자주식회사 무선 멀티미디어 통신에서의 비디오 비트스트림 데이터의 오류 제어방법 및 이를 위한 기록 매체
US6784802B1 (en) * 1999-11-04 2004-08-31 Nordx/Cdt, Inc. Real time monitoring of cable patch panel
US9668011B2 (en) * 2001-02-05 2017-05-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Single chip set-top box system
US6898583B1 (en) * 2000-01-24 2005-05-24 Sony Corporation Method and apparatus of creating application-specific, non-uniform wavelet transforms
US6798838B1 (en) * 2000-03-02 2004-09-28 Koninklijke Philips Electronics N.V. System and method for improving video transmission over a wireless network
US6771828B1 (en) * 2000-03-03 2004-08-03 Microsoft Corporation System and method for progessively transform coding digital data
US6549674B1 (en) * 2000-10-12 2003-04-15 Picsurf, Inc. Image compression based on tiled wavelet-like transform using edge and non-edge filters
US6774912B1 (en) * 2000-03-16 2004-08-10 Matrox Graphics Inc. Multiple display device display controller with video overlay and full screen video outputs
US6510177B1 (en) * 2000-03-24 2003-01-21 Microsoft Corporation System and method for layered video coding enhancement
US7024046B2 (en) * 2000-04-18 2006-04-04 Real Time Image Ltd. System and method for the lossless progressive streaming of images over a communication network
US6724817B1 (en) * 2000-06-05 2004-04-20 Amphion Semiconductor Limited Adaptive image data compression
US6816194B2 (en) * 2000-07-11 2004-11-09 Microsoft Corporation Systems and methods with error resilience in enhancement layer bitstream of scalable video coding
US6661927B1 (en) * 2000-07-27 2003-12-09 Motorola, Inc. System and method for efficiently encoding an image by prioritizing groups of spatially correlated coefficients based on an activity measure
JP2004526268A (ja) * 2000-09-25 2004-08-26 シメトリックス・コーポレーション 強誘電体メモリおよびその動作方法
US6842777B1 (en) 2000-10-03 2005-01-11 Raja Singh Tuli Methods and apparatuses for simultaneous access by multiple remote devices
US6785700B2 (en) * 2000-12-13 2004-08-31 Amphion Semiconductor Limited Implementation of wavelet functions in hardware
US6826242B2 (en) * 2001-01-16 2004-11-30 Broadcom Corporation Method for whitening colored noise in a communication system
US6868083B2 (en) * 2001-02-16 2005-03-15 Hewlett-Packard Development Company, L.P. Method and system for packet communication employing path diversity
US7006697B1 (en) * 2001-03-30 2006-02-28 Ricoh Co., Ltd. Parallel block MQ arithmetic image compression of wavelet transform coefficients
US6850571B2 (en) * 2001-04-23 2005-02-01 Webtv Networks, Inc. Systems and methods for MPEG subsample decoding
US7127117B2 (en) * 2001-06-11 2006-10-24 Ricoh Company, Ltd. Image compression method and apparatus for suppressing quantization rate in particular region, image expansion method and apparatus therefor, and computer-readable storage medium storing program for the compression or expansion
GB2381692B (en) * 2001-10-31 2004-09-08 Alphamosaic Ltd Video-telephony system
ES2395264T3 (es) * 2001-11-28 2013-02-11 Prysmian Kabel Und Systeme Gmbh Cable más resistente a los daños de la vaina exterior
GB0128888D0 (en) * 2001-12-03 2002-01-23 Imagination Tech Ltd Method and apparatus for compressing data and decompressing compressed data
US7224845B1 (en) * 2002-02-28 2007-05-29 Bae Systems Information And Electric Systems Integration Inc. Bijection mapping for compression/denoising of multi-frame images
US7330596B2 (en) * 2002-07-17 2008-02-12 Ricoh Company, Ltd. Image decoding technique for suppressing tile boundary distortion
JP2004127064A (ja) * 2002-10-04 2004-04-22 Konica Minolta Holdings Inc 画像処理方法、画像処理装置、画像処理プログラム及び画像記録装置
JP4176663B2 (ja) * 2003-06-19 2008-11-05 松下電器産業株式会社 送信装置、画像処理システム、画像処理方法、プログラム、及び記録媒体
US7769083B2 (en) * 2003-06-19 2010-08-03 Panasonic Corporation Image processing and transmission using high and low compression ratios depending on image change conditions
US6847856B1 (en) * 2003-08-29 2005-01-25 Lucent Technologies Inc. Method for determining juxtaposition of physical components with use of RFID tags
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US20050069203A1 (en) * 2003-09-26 2005-03-31 Khomo Malome T. Spatial character recognition technique and chirographic text character reader
US20050076982A1 (en) * 2003-10-09 2005-04-14 Metcalf Arthur Richard Post patch assembly for mounting devices in a tire interior
US7197214B2 (en) * 2004-05-24 2007-03-27 Corning Cable Systems Llc Methods and apparatus for facilitating cable locating
JP2006129248A (ja) * 2004-10-29 2006-05-18 Sanyo Electric Co Ltd 画像符号化方法および装置、ならびに画像復号方法および装置
JP4146444B2 (ja) * 2005-03-16 2008-09-10 株式会社東芝 動画像符号化の方法及び装置
US7565055B2 (en) * 2005-04-19 2009-07-21 Adc Telecommunications, Inc. Loop back plug and method
JP2007129438A (ja) * 2005-11-02 2007-05-24 Nagasaki Univ 映像圧縮符号化装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110114793A (ko) * 2010-04-14 2011-10-20 삼성전자주식회사 가상 세계 처리 장치 및 방법
US9612737B2 (en) 2010-04-14 2017-04-04 Samsung Electronics Co., Ltd. Device and method for processing virtual worlds
WO2013115606A1 (ko) * 2012-02-04 2013-08-08 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
US9106930B2 (en) 2012-02-04 2015-08-11 Lg Electronics Inc. Video encoding method, video decoding method, and device using same
US9635386B2 (en) 2012-02-04 2017-04-25 Lg Electronics Inc. Video encoding method, video decoding method, and device using same
US10091520B2 (en) 2012-02-04 2018-10-02 Lg Electronics Inc. Video encoding method, video decoding method, and device using same
US10681364B2 (en) 2012-02-04 2020-06-09 Lg Electronics Inc. Video encoding method, video decoding method, and device using same
US11218713B2 (en) 2012-02-04 2022-01-04 Lg Electronics Inc. Video encoding method, video decoding method, and device using same
US11778212B2 (en) 2012-02-04 2023-10-03 Lg Electronics Inc. Video encoding method, video decoding method, and device using same
KR102012589B1 (ko) * 2018-03-22 2019-08-20 주식회사 엘지유플러스 영상 생성 장치 및 방법

Also Published As

Publication number Publication date
EP2074830A2 (en) 2009-07-01
KR101365869B1 (ko) 2014-02-25
WO2008063334A3 (en) 2008-08-28
US7460725B2 (en) 2008-12-02
EP2442574A1 (en) 2012-04-18
EP2074830A4 (en) 2009-10-14
JP4744634B2 (ja) 2011-08-10
CN101601307B (zh) 2011-07-27
US20080112489A1 (en) 2008-05-15
CN101601307A (zh) 2009-12-09
WO2008063334A2 (en) 2008-05-29
JP2010509840A (ja) 2010-03-25

Similar Documents

Publication Publication Date Title
KR101365869B1 (ko) 전자 정보의 효과적 인코딩 및 디코딩을 위한 시스템 및 방법
US11750841B2 (en) Methods and apparatuses for coding transform blocks
JP5777080B2 (ja) 合成ビデオのためのロスレス・コード化および関連するシグナリング方法
CN104221373B (zh) 用于采样自适应偏移代码化和/或信号通知的设备和方法
KR101622450B1 (ko) 변환을 이용하는 비디오 인코딩 및 디코딩
US8867614B2 (en) Image coding method and image decoding method
WO2018061588A1 (ja) 画像符号化装置、画像符号化方法、及び画像符号化プログラム、並びに、画像復号装置、画像復号方法、及び画像復号プログラム
US20040136457A1 (en) Method and system for supercompression of compressed digital video
JP2010509840A5 (ko)
CN1314206C (zh) 压缩信号的设备和方法
CN103782598A (zh) 用于无损编码的快速编码方法
CN103108180B (zh) 一种基于基础设施能力及当前条件确定视频编码子块大小的方法及其装置
US10812832B2 (en) Efficient still image coding with video compression techniques
CN100553151C (zh) 用于多种描述编码的设备和方法
JP7162532B2 (ja) ビデオデータに関係する構文要素を表す一連の2値シンボルをコンテキスト適応型2値算術符号化するための方法及び装置
CN113196768A (zh) 图像处理装置和方法
CN1285215C (zh) 视频通信系统的帧率调节方法
KR20200006908A (ko) 변환 모드용 엔트로피 부호화 그룹의 분류 방법 및 시스템
JP6402520B2 (ja) 符号化装置、方法、プログラム及び機器
US7720300B1 (en) System and method for effectively performing an adaptive quantization procedure
US20230141312A1 (en) Transformed coefficient ordering for entropy coding
JP2004048212A (ja) デジタル画像符号化装置および符号化方法ならびにプログラム
WO2022217417A1 (zh) 编解码方法、编码器、解码器以及存储介质
CN116830575A (zh) 用于对具有不同位深度的视频信号进行哈达玛变换域滤波的方法和装置
JP2009206566A (ja) 画像処理装置

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 7