KR20110053243A - 병렬 처리를 이용하여 디코딩하는 시스템 및 방법 - Google Patents

병렬 처리를 이용하여 디코딩하는 시스템 및 방법 Download PDF

Info

Publication number
KR20110053243A
KR20110053243A KR1020117006211A KR20117006211A KR20110053243A KR 20110053243 A KR20110053243 A KR 20110053243A KR 1020117006211 A KR1020117006211 A KR 1020117006211A KR 20117006211 A KR20117006211 A KR 20117006211A KR 20110053243 A KR20110053243 A KR 20110053243A
Authority
KR
South Korea
Prior art keywords
partition
decoding
encoding scheme
blocks
row
Prior art date
Application number
KR1020117006211A
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 KR20110053243A publication Critical patent/KR20110053243A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • 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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

인코드된 영상 데이터의 스트림을 디코딩하는 방법이 개시된다. 영상 스트림은 무손실 인코딩을 이용하여 압축된 파티션들을 포함한다. 각 파티션은 예를 들면 인트라 프레임 인코딩 또는 인터 프레임 인코딩을 이용하여 인코드된 행들을 포함한다. 디코딩 처리 중에, 1개의 파티션의 엔트로피 디코딩의 출력의 적어도 일부가 다른 파티션의 엔트로피 및 인트라/인터 프레임 디코딩시의 입력으로서 사용될 수 있도록, 프레임의 인접 행들을 내포하는 파티션들이 옵셋에 의해 디코드되는 것을 제외하고, 2개 이상의 파티션이 2개 이상의 프로세서에서 병렬로 엔트로피 디코드된다.

Description

병렬 처리를 이용하여 디코딩하는 시스템 및 방법{SYSTEM AND METHOD FOR DECODING USING PARALLEL PROCESSING}
관련 출원에 대한 교차 참조
이 출원은 2008년 9월 11일자 출원한 미국 예비 특허 출원 제61/096,223호를 우선권 주장해서 2008년 12월 5일자 출원한 미국 특허 출원 제12/329,248호를 우선권 주장하며, 상기 2개의 출원은 그 전체 내용이 인용에 의해 여기에 통합된다.
기술 분야
본 발명은 일반적으로 다중 프로세서를 이용한 영상 디코딩(video decoding)에 관한 것이다.
오늘날 애플리케이션의 수적 증가는, 예를 들면, 영상 회의를 통한 원격 비즈니스 미팅, 고선명 영상 오락, 영상 광고, 및 사용자가 생성한 영상의 공유 등을 비롯한 다양한 목적에 디지털 영상을 사용할 수 있게 하고 있다. 기술이 발전함에 따라서, 사람들은 영상 품질에 대한 높은 기대치를 갖고 있고, 높은 프레임률(frame rate)로 부드럽게 재생되는 고해상도의 영상을 기대한다.
디지털 영상을 인코딩, 저장 및 전송하기 위한 비디오 코더를 선택할 때 고려해야 할 많은 인수들이 있다. 일부 애플리케이션은 훌륭한 영상 품질을 필요로 하고, 기타의 애플리케이션들은 예컨대 대역폭 또는 저장 필요조건을 비롯한 다양한 제약들과 호환될 필요가 있다. 대역폭 소비를 제한하면서 고품질의 영상 전송을 가능하게 하기 위해, VPx(뉴욕주 클립톤 파크에 소재하는 온투 테크놀로지, 인크.에 의해 공표됨)와 같은 사유 재산 형식, ITU-T 영상 부호화 전문가 그룹(VCEG) 및 ISO/IEC 동영상 전문가 그룹(MPEG)에 의해 공표된 H.264 표준, 및 이들의 현재 및 미래 버젼을 포함한 다수의 영상 압축 방식이 주목되고 있다. H.264는 MPEG-4 파트 10 또는 MPEG-4 AVC(공식적으로는 ISO/IEC 14496-10)라고도 또한 알려져 있다.
영상 데이터를 압축 및 복구하는 많은 유형의 영상 인코딩 방식이 있다. 예를 들어서, H.264 표준은 콘텍스트 기반 적응 가변 길이 부호화(Context-based Adaptive Variable Length Coding; CAVLC) 및 콘텍스트 기반 적응 이진 산술 부호화(Context-based Adaptive Binary Arithmetic Coding; CABAC) 등의 엔트로피 부호화 방법을 통합함으로써 더욱 효율적인 영상 부호화 방법을 제공한다. CAVLC를 이용하여 인코드된 영상 데이터에 있어서, 현대의 일부 압축풀기(decompression) 시스템은 멀티코어 프로세서 또는 멀티프로세서의 사용을 채택하여 전체 영상 디코딩 속도를 증가시키고 있다.
본 발명의 실시예는 적어도 제1 인코딩 방식을 이용하여 압축된 복수의 파티션을 포함한 인코드화 영상 데이터의 스트림을 디코딩하는 방법으로서 기술된다. 이 방법은 적어도 제2 인코딩 방식을 이용하여 인코드된 적어도 1행의 블록들을 포함하는 적어도 제1 파티션을 복수의 파티션 중에서 선택하는 단계를 포함한다. 제2 인코딩 방식을 이용하여 인코드된 적어도 1행의 블록을 포함하는 제2 파티션이 선택된다. 제1 파티션은 제1 프로세서에 의해 디코드되고, 제2 파티션은 제2 프로세서에 의해 디코드된다. 제2 파티션의 디코딩은 제1 파티션의 디코딩으로부터의 적어도 일부 출력이 제2 파티션을 디코딩할 때의 입력으로서 사용되도록 특정 갯수의 블록에 의해 옵셋된다. 또한, 제1 파티션의 디코딩은 제2 파티션의 디코딩으로부터의 적어도 일부 출력이 제1 파티션을 디코딩할 때의 입력으로서 사용되도록 특정 갯수의 블록에 의해 옵셋된다.
본 발명의 다른 하나의 실시예는 복수 행의 블록으로 구성된 적어도 하나의 프레임 이미지를 나타내는 영상 데이터 스트림을 디코딩하는 방법으로서 기술된다. 데이터는 제1 인코딩 방식 및 제2 인코딩 방식을 이용하여 인코드된다. 이 방법은 1차 메모리 공간을 공유하는 복수의 프로세서를 제공하는 단계와, 파티션 카운트 및 파티션 위치 옵셋을 표시하는 기록을 영상 데이터에서 판독하는 단계를 포함한다. 영상 데이터는 파티션 카운트 및 파티션 위치 옵셋에 기초하여 복수의 파티션으로 분할된다. 복수의 파티션 중 제1 파티션과 제2 파티션이 식별된다. 복수의 파티션 중 제1 파티션은 제1 인코딩 방식에 따라서 복수의 파티션 중 제2 파티션을 디코딩하기 위해 사용할 수 있는 인코드화 콘텍스트 정보를 포함한다. 복수의 파티션 중 제1 파티션은 복수의 프로세서 중 제1 프로세서를 이용하는 제2 인코딩 방식에 따라서 디코드된다. 복수의 파티션 중 제2 파티션은 복수의 프로세서 중 제2 프로세서를 이용하는 제1 디코딩 방식에 따라서 디코드된다. 제2 파티션의 디코딩은 특정 갯수의 블록에 의해 옵셋된다. 상기 특정 갯수는 적어도 인코드화 콘텍스트 정보 내의 블록들의 수만큼 크고, 제1 파티션의 디코딩으로부터의 적어도 일부 출력이 제2 파티션을 디코딩할 때의 입력으로서 사용될 수 있다.
본 발명의 다른 실시예는 복수 행의 블록을 가진 적어도 하나의 프레임을 포함한 영상 데이터를 인코딩하는 방법으로서 기술된다. 이 방법은 제2 인코딩 방식을 이용하여 행들을 인코딩하는 단계를 포함한다. 각 행을 인코딩하기 위한 입력은 인접 행에 내포된 정보를 포함한다. 복수의 행은 복수의 파티션으로 분할되고 적어도 2개의 인접 행이 별도의 파티션에 배치된다. 복수의 파티션들은 각각 제1 인코딩 방식을 이용하여 추가로 인코드된다. 복수의 행들을 분할한 파티션의 수 및 인코드화 영상 데이터 내에서 파티션의 위치를 나타내는 값들이 기록된다.
본 발명의 상기 및 기타의 실시예들은 이하에서 더 구체적으로 설명된다.
인코드된 영상 데이터의 스트림을 디코딩하는 방법이 개시된다. 영상 스트림은 무손실 인코딩을 이용하여 압축된 파티션들을 포함한다. 각 파티션은 예를 들면 인트라 프레임 인코딩 또는 인터 프레임 인코딩을 이용하여 인코드된 행들을 포함한다. 디코딩 처리 중에, 1개의 파티션의 엔트로피 디코딩의 출력의 적어도 일부가 다른 파티션의 엔트로피 및 인트라/인터 프레임 디코딩시의 입력으로서 사용될 수 있도록, 프레임의 인접 행들을 내포하는 파티션들이 옵셋에 의해 디코드되는 것을 제외하고, 2개 이상의 파티션이 2개 이상의 프로세서에서 병렬로 엔트로피 디코드된다.
여기에서의 설명은 첨부 도면을 참조하여 이루어지고, 전체 도면에 걸쳐서 동일한 참조 번호는 동일한 구성 요소를 표시한다.
도 1은 본 발명의 일 실시예에 따른 압축 영상 비트스트림 내에서 층들의 계층구조를 보인 도이다.
도 2는 본 발명의 일 실시예에 따른 영상 압축 시스템의 블록도이다.
도 3은 본 발명의 일 실시예에 따른 영상 압축풀기 시스템의 블록도이다.
도 4는 도 2의 영상 압축 시스템으로부터 출력된 프레임 및 그 대응 파티션을 보인 개략도이다.
도 5는 도 2의 영상 압축 시스템으로부터 출력되어 도 3의 영상 압축풀기 시스템에 전송되는 비트스트림 내 인코드화 영상 프레임을 보인 개략도이다.
도 6a 및 도 6b는 도 3의 영상 압축풀기 시스템에서 사용된 멀티코어 프로세서에서 코어들의 스테이징 및 동기화를 보인 타이밍도이다.
도 7a는 도 2 및 도 3의 영상 압축 및 압축풀기 시스템에서 사용되는 데이터 의존 매크로블록 및 옵셋 계산을 보인 개략도이다.
도 7b는 도 2 및 도 3의 영상 압축 및 압축풀기 시스템에서 사용되는 데이터 의존 매크로블록 및 다른 옵셋 계산을 보인 개략도이다.
도 1을 참조하면, H.264 등의 영상 부호화(video coding) 표준은 영상 스트림(11)의 각 층(10)의 규정된 계층 구조를 제공한다. 층에서의 최상위 레벨은 영상 시퀀스(video sequence)(13)일 수 있다. 다음 레벨에서, 영상 시퀀스(13)는 다수의 인접 프레임(15)으로 구성된다. 다수의 인접 프레임(15)들은 단일 프레임(17)으로 추가로 세분될 수 있다. 다음 레벨에서, 프레임(17)은 일련의 고정 사이즈의 매크로블록(20)으로 구성되고, 매크로블록(20)은 프레임(17)에서 디스플레이되는 픽셀의 예컨대 16×16 블록에 대응하는 압축 데이터를 내포한다. 각 매크로블록은 대응 픽셀용의 휘도 및 색도 데이터를 내포한다. 매크로블록(20)은 16×8 픽셀 그룹 또는 8×16 픽셀 그룹과 같이 임의의 다른 적당한 사이즈로 또한 될 수 있다. 매크로블록(20)은 다수의 블록으로 더욱 세분된다. 예를 들면, 하나의 블록은 대응 픽셀용의 휘도 및 색도 데이터를 추가로 묘사할 수 있는 4×4 픽셀 그룹일 수 있다. 블록들은 또한 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 및 4×4 픽셀 그룹과 같이 임의의 다른 적당한 사이즈의 것으로 될 수 있다.
비록 실시예의 설명이 VP8 영상 부호화 형식(format)과 관련하여 이루어지지만, 본 발명의 다른 실시예는 다른 영상 부호화 형식과 관련하여 구현될 수 있다. 또한 실시예들은 임의의 특수한 영상 부호화 표준 또는 형식으로 제한되지 않는다.
도 2를 참조하면, 일 실시예에 따라서, 입력 영상 스트림(16)을 인코딩하기 위해, 인코더(14)가 순방향 경로(실선의 접속선으로 도시됨)를 따라서 인트라(intra)/인터(inter) 예측(18), 변환(19), 양자화(22) 및 엔트로피 인코딩(24)의 기능을 수행하여 인코드된 비트스트림(26)을 생성한다. 인코더(14)는 또한 추가의 매크로블록의 인코딩을 위해 프레임을 재축조하는 재축조 경로(점선의 접속선으로 도시됨)를 포함한다. 인코더(14)는 재축조 경로를 따라서 역양자화(28), 역변환(30), 재축조(32) 및 루프 필터링(34)의 기능을 수행한다. 비트스트림(26)을 인코드하기 위해 인코더(14)의 다른 구조적 변형체를 또한 사용할 수 있다.
입력 영상 스트림(16)이 인코딩을 위해 주어질 때, 입력 영상 스트림(16) 내에 있는 각 프레임(17)은 매크로블록의 단위로 처리될 수 있다. 인트라/인터 예측 단계(18)에서, 각 매크로블록은 인트라 예측 모드 또는 인터 예측 모드를 이용하여 인코드될 수 있다. 인트라 예측의 경우에, 예측 매크로블록은 이전에 인코드되고 재축조된 현재 프레임의 샘플들로부터 형성될 수 있다. 인터 예측의 경우에, 예측 매크로블록은 이미 인코드되고 재축조된 하나 이상의 기준 프레임으로부터 형성될 수 있다.
다음에, 다시 도 2를 참조하면, 예측 매크로블록이 현재 매크로블록으로부터 제거되어 잔여 매크로블록을 생성한다. 변환 단계(19)는 잔여 매크로블록의 코드들을 계수로 변환하고, 양자화 단계(22)는 계수를 양자화하여 양자화 변환 계수의 집합을 제공한다. 양자화 변환 계수는 그 다음에 엔트로피 인코딩 단계(24)에서 엔트로피 부호화된다. 엔트로피 부호화된 계수들은 사용하는 예측 모드의 유형, 움직임 벡터(motion vector) 및 양자화기 값(quantizer value)과 같이 매크로블록을 디코드하는데 필요한 정보와 함께 압축 비트스트림(26)으로 출력된다.
도 2의 재축조 경로는 매크로블록을 디코드하기 위해 필요로 하는 동일한 기준 프레임을 인코더와 디코더가 사용할 수 있게 하기 위해 제공될 수 있다. 재축조 경로는, 뒤에서 더 자세히 설명하는 디코딩 처리 중에 발생하는 기능들과 유사하게, 역양자화 단계(28)에 의해 피변환 계수(transformed coefficient)를 역양자화하는 것 및 역변환 단계(30)에서 계수들을 역변환하여 유도 잔여 매크로블록을 생성하는 것을 포함한다. 재축조 단계(32)에서, 예측 매크로블록은 유도 잔여 매크로블록에 추가되어 재축조된 매크로블록을 생성할 수 있다. 루프 필터(34)는 재축조된 매크로블록에 적용되어 왜곡(distortion)을 저감시킬 수 있다.
도 3을 참조하면, 일 실시예에 따라서, 압축 비트스트림(26)을 디코드하기 위해, 디코더(21)는, 위에서 설명한 인코더(14)의 재축조 경로와 유사하게, 엔트로피 디코딩(25), 역양자화(27), 역변환(29), 인트라/인터 예측(23), 재축조(31), 루프 필터(34) 및 디블록킹 필터링(33)의 기능을 수행하여 출력 영상 스트림(35)을 생성한다. 압축 비트스트림(26)을 디코드하기 위해 디코더(21)의 다른 구조적 변형체를 또한 사용할 수 있다.
압축 비트스트림(26)이 디코딩을 위해 주어질 때, 데이터 요소들은 엔트로피 디코딩 단계(25)에서 디코드되어 양자화 계수의 집합을 생성할 수 있다. 역양자화 단계(27)는 계수들을 역양자화하고, 역변환 단계(29)는 계수들을 역변환하여 인코더(14)의 재축조 단계에서 생성된 것과 동일한 유도 잔여 매크로블록을 생성한다. 압축 비트스트림(26)으로부터 디코드된 예측 모드의 유형 및/또는 움직임 벡터 정보를 이용해서, 인트라/인터 예측 단계(23)에서, 디코더(21)는 인코더(14)에서 생성한 것과 동일한 예측 매크로블록을 생성한다. 재축조 단계(33)에서, 예측 매크로블록은 유도 잔여 매크로블록에 추가되어 재축조된 매크로블록을 생성할 수 있다. 루프 필터(34)는 재축조된 매크로블록에 적용되어 블로킹 아티팩트(blocking artifact)를 저감시킬 수 있다. 디블로킹 필터(33)는 재축조된 매크로블록에 적용되어 블로킹 왜곡을 더욱 저감시키고, 그 결과가 출력 영상 스트림(35)으로서 출력될 수 있다.
콘텍스트 기반 적응 산술 부호화(CABAC)와 같은 현재의 콘텍스트 기반 엔트로피 부호화 방법은 이웃하는 매크로블록을 참조하기 위해 매크로블록을 필요로 함으로써 공간적 위치를 이용하는 의존성 및 다른 프레임으로부터 매크로블록을 참조하기 위해 매크로블록을 필요로 함으로써 임시 위치를 이용하는 의존성에 의해 제한된다. 이러한 의존성 및 적응성 때문에, 인코더(14)는 이웃하는 매크로블록으로부터의 콘텍스트 데이터를 이용하여 순차적인 순서로 비트스트림을 부호화한다. 인코더(14)에 의해 생성된 이러한 순차적 의존성은 압축 비트스트림(26)이 디코더(21)에 의해 순차적인 방식으로 디코드되게 한다. 이러한 순차적 디코딩은 단일 코어 프로세서를 이용하여 디코드할 때 적당할 수 있다. 반면에, 디코딩 중에 멀티코어 프로세서 또는 멀티프로세서 시스템을 이용하면, 멀티코어 프로세서 또는 멀티프로세서 시스템의 연산 능력이 효과적으로 활용되지 않을 것이다.
비록 이 명세서에서는 멀티코어 프로세서 및 멀티코어 프로세서의 스레드(thread)의 생성과 관련하여 본 발명의 실시예를 설명하지만, 본 발명의 실시예는 다수의 프로세서를 내포한 장치 등의 다른 적당한 컴퓨터 시스템에 의해서도 구현될 수 있다.
일 실시예에 따르면, 인코더(14)는 압축 비트스트림을 단일 스트림의 직렬화 데이터가 아닌 복수의 파티션(36)으로 분할한다. 단지 예로서 도시한 도 4를 참조하면, 압축 비트스트림은 데이터 파티션 1~4라고 표시된 4개의 파티션으로 분할될 수 있다. 다른 갯수의 파티션도 또한 가능하다. 파티션이 디코더(21)에 의해 디코드될 때 각 파티션이 별도의 디코딩 처리의 대상(subject)이 될 수 있기 때문에, 직렬화 의존성은 부호화 효율을 손실시키지 않고 압축 데이터에서 해체될 수 있다.
도 4를 참조하면, 프레임(17)이 분할된 매크로블록 행(38)과 함께 도시되어 있다. 매크로블록 행(38)은 개별적인 매크로블록(20)으로 구성된다. 이 예에 있어서, 매 N번째 매크로블록 행(38)은 파티션(36)들 중 하나로 그룹지어질 수 있다(여기에서 N은 파티션의 총 수이다). 이 예에서는 4개의 파티션이 있고, 매크로블록 0, 4, 8, 12 등은 파티션 1로 그룹지어진다. 매크로블록 1, 5, 9, 13 등은 파티션 2로 그룹지어진다. 매크로블록 2, 6, 10, 14 등은 파티션 3으로 그룹지어진다. 매크로블록 3, 7, 11, 15 등은 파티션 4로 그룹지어진다. 결국, 각 파티션(36)은 인접한 매크로블록을 포함하지만, 이 예에서 각 파티션(36)은 인접한 매크로블록 행(38)을 내포하지 않는다. 다시 말하면, 제1 파티션에 있는 블록들의 매크로블록 행과 제2 파티션에 있는 매크로블록 행은 프레임 내의 2개의 인접 매크로블록 행으로부터 유도될 수 있다. 다른 그룹화 메카니즘도 사용할 수 있고, 매크로블록 행에 의해 영역들을 분리하는 것 또는 매 N번째 매크로블록 행을 파티션으로 그룹화하는 것으로 제한되지 않는다. 그룹화 메카니즘에 따라서, 다른 예에서는 서로 인접하는 매크로블록 행들이 동일한 파티션(36)으로 또한 그룹지어질 수 있다.
다른 그룹화 메카니즘은, 예를 들면, 제1 프레임으로부터의 블록들의 행과 제2 프레임 내의 블록들의 대응하는 행을 그룹화하는 것을 포함한다. 제1 프레임으로부터의 블록들의 행은 제1 파티션으로 묶여지고 제2 프레임 내의 블록들의 대응하는 행은 제2 파티션으로 묶여질 수 있다. 제1 프로세서는 제1 프레임으로부터의 블록들의 행을 디코드하고 제2 프로세서는 제2 프레임으로부터의 블록들의 행을 디코드할 수 있다. 이 방법으로, 디코더는 제1 프로세서에 의해 이미 디코드된 블록으로부터의 정보를 이용하여 제2 파티션 내의 적어도 하나의 블록을 디코드할 수 있다.
각 파티션(36)은 2개의 별도의 인코딩 방식을 이용하여 압축될 수 있다. 제1 인코딩 방식은 예를 들면 CABAC와 같은 콘텍스트 기반 산술 부호화를 이용하여 무손실 인코딩을 할 수 있다. 다른 무손실 인코딩 기술을 또한 사용할 수 있다. 다시 도 1을 참조하면, 제1 인코딩 방식은 예를 들면 엔트로피 인코딩 단계(24)에서 실현될 수 있다.
다시 도 1을 참조하면, 제1 인코딩 방식 전에 일어날 수 있는 제2 인코딩 방식은 인트라/인터 예측 단계(18), 변형 단계(19) 및 양자화 단계(22) 중의 적어도 하나에서 실현될 수 있다. 제2 인코딩 방식은 다른 파티션에 내포된 정보를 이용해서 각 파티션(36) 내의 블록들을 인코드할 수 있다. 예를 들어서, 만일 프레임이 2개의 파티션으로 분할되면, 제2 인코딩 방식은 제1 파티션의 매크로블록 행에 내포된 정보를 이용해서 제2 파티션을 인코드할 수 있다.
도 5를 참조하면, 압축 비트스트림(26)으로부터의 인코드된 영상 프레임(39)이 도시되어 있다. 간단히 하기 위해, 본 발명의 실시예에 적당한 비트스트림의 부분들만 도시하였다. 인코드된 영상 프레임(39)은 영상 프레임 헤더(44)를 포함하고, 영상 프레임 헤더(44)는 파티션의 수에 관한 비트(40)와 각 파티션의 옵셋에 관한 비트(42)를 포함한다. 인코드된 영상 프레임(39)은 P1~PN으로 표시된 데이터 파티션(36)으로부터의 인코드 데이터를 또한 포함하고, 여기에서 N은, 위에서도 설명한 바와 같이, 영상 프레임(17) 내의 파티션의 총 수이다.
일단 인코더(14)가 프레임(17)을 복수의 파티션(36)으로 분할하였으면, 인코더(14)는 파티션의 수(40) 및 각 파티션의 옵셋(42)을 표시하는 데이터를 영상 프레임 헤더(44)에 기록한다. 파티션의 수(40) 및 각 파티션의 옵셋(42)은 비트, 바이트, 또는 디코더(21)에 특정 정보를 중계할 수 있는 임의의 다른 기록에 의해 프레임(17) 내에서 표현될 수 있다. 디코더(21)는 압축 데이터를 디코드하기 위해 영상 프레임 헤더(44)로부터 데이터 파티션의 수(40)를 판독한다. 일 예로서, 파티션의 수를 표시하기 위해 2개의 비트를 사용할 수 있다. 데이터 파티션의 수(또는 파티션 카운트)를 표시하기 위해 1개 이상의 비트를 사용할 수 있다. 파티션의 수를 비트스트림으로 부호화하기 위해 다른 부호화 방식을 또한 사용할 수 있다. 아래의 목록은 2개의 비트가 어떻게 파티션의 수를 표시하는지를 보여준다.
비트 1 비트 2 파티션의 수
0 0 1개의 파티션
0 1 2개의 파티션
1 0 4개의 파티션
1 1 8개의 파티션
데이터 파티션의 수가 1보다 더 크면, 디코더(21)는 압축 비트스트림(26) 내에서 데이터 파티션(36)의 위치에 관한 정보를 또한 필요로 한다. 각 파티션의 옵셋(42)(파티션 위치 옵셋이라고도 부른다)은 디코딩 중에 각 파티션에 직접 액세스할 수 있다.
일 예로서, 각 파티션의 옵셋(42)은 비트스트림의 시작부와 관련될 수 있고, 비트스트림(26)에 인코드되어 기록될 수 있다. 다른 예로서, 각 데이터 파티션의 옵셋은 제1 파티션이 각 파티션의 옵셋(42) 후에 비트스트림(26)에서 무조건적으로 시작하기 때문에 제1 파티션을 제외한 비트스트림에 인코드 및 기록될 수 있다. 위의 설명은 단지 예시적인 것이다. 파티션 카운트 및 파티션 위치 옵셋 정보를 전송하기 위해 워드나 바이트 등의 다른 적당한 데이터 구조, 플래그 또는 기록을 사용할 수 있다.
비록, 데이터 파티션의 수는 입력 영상 시퀀스(16) 전체에 걸쳐서 각 프레임(17)마다 동일하게 할 수 있지만, 데이터 파티션의 수는 각 프레임마다 다르게 할 수도 있다. 따라서, 각 프레임(17)은 다른 수의 파티션(40)을 가질 것이다. 파티션의 수를 표시하기 위해 사용되는 비트의 수도 또한 프레임마다 다를 수 있다. 따라서, 각 프레임(17)은 다양한 수의 파티션으로 분할될 수 있다.
데이터가 적당한 파티션 데이터 정보(즉, 파티션의 수(40) 및 파티션의 옵셋(42))에 의해 비트스트림(26)으로 압축되었으면, 디코더(21)는 멀티코어 프로세서에서 병렬로 데이터 파티션(36)을 디코드할 수 있다. 이 방법에서, 각 프로세서 코어는 하나의 데이터 파티션(36)을 디코드하는 책임을 질 것이다. 멀티코어 프로세서는 전형적으로 하나 이상의 프로세싱 코어와 공유 메모리 공간을 갖기 때문에, 워크로드가 각 코어 사이에서 가능한 한 균등하게 할당될 수 있다. 각 코어는 각 데이터 파티션(36)을 디코드하는 각 코어 간에 데이터를 공유하는 효과적인 방법으로서 공유 메모리 공간을 사용할 수 있다.
예를 들어서 2개의 파티션을 각각 디코드하는 2개의 프로세서가 있으면, 제1 프로세서가 제1 파티션을 디코드하기 시작할 것이다. 제2 프로세서는 그 다음에 제2 파티션의 매크로블록을 디코드할 수 있고, 제1 파티션의 매크로블록의 디코딩을 이미 시작한 제1 프로세서로부터 수신된 정보를 이용할 수 있다. 제2 프로세서와 동시에, 제1 프로세서는 제1 파티션의 매크로블록의 디코딩을 계속할 수 있고, 제2 프로세서로부터 수신된 정보를 이용할 수 있다. 따라서, 제1 프로세서와 제2 프로세서는 둘 다 그들 각각의 파티션 내에 있는 매크로블록을 적절히 디코드하는 데 필요한 정보를 가질 수 있다.
또한, 뒤에서 더 자세히 설명하는 바와 같이, 제1 파티션에 의존하는 제2 파티션의 매크로블록 행을 디코딩할 때, 제2 파티션에서 현재 처리되고 있는 매크로블록은 특정 갯수의 매크로블록에 의해 옵셋된다. 이 방법으로, 제1 파티션의 디코딩 출력의 적어도 일부는 제2 파티션에서 현재 처리되고 있는 매크로블록의 디코딩의 입력으로서 사용될 수 있다. 마찬가지로, 제2 파티션에 의존하는 제1 파티션의 매크로블록 행을 디코딩할 때, 제1 파티션에서 현재 처리되고 있는 매크로블록은 제2 파티션의 디코딩 출력의 적어도 일부가 제1 파티션에서 현재 처리되고 있는 매크로블록의 디코딩의 입력으로서 사용될 수 있도록 특정 갯수의 매크로블록에 의해 옵셋된다.
압축 비트스트림을 디코딩할 때, 디코더(21)는 데이터를 디코드하는데 필요한 스레드의 수를 결정할 수 있다. 스레드의 수는 인코드된 각 프레임(39)에서의 파티션의 수(40)에 기초할 수 있다. 예를 들어서, 만일 인코드된 프레임(39)에 4개의 파티션이 있다고 파티션의 수(40)가 표시하면, 디코더(21)는 데이터 파티션 중 하나를 각각 디코드하는 4개의 스레드를 생성한다. 일 예로서 도 4를 참조하면, 디코더(21)는 4개의 데이터 파티션이 생성되었다고 결정할 수 있다. 그러므로, 만일 디코더(21)가 멀티코어 프로세서를 사용하고 있으면, 디코더(21)는 특정 프레임으로부터의 데이터를 디코드하기 위해 4개의 별도의 스레드를 생성할 수 있다.
위에서 설명한 것처럼, 각 프레임 내의 매크로블록(20)은 인코딩될 때 이웃 매크로블록으로부터의 콘텍스트 데이터를 사용한다. 매크로블록(20)을 디코딩할 때, 디코더는 매크로블록을 적절히 디코드하기 위해 동일한 콘텍스트 데이터를 필요로 할 것이다. 디코더 측에서, 콘텍스트 데이터는 이웃 매크로블록들이 현재 스레드 또는 다른 스레드에 의해 이미 디코드된 후에만 이용가능하다. 적절한 디코딩을 위해, 디코더는 다중 스레드의 디코딩을 관리하기 위한 스테이징(staging) 및 동기화 메카니즘을 포함한다.
도 6a 및 도 6b를 참조하면, 타이밍도는 본 발명의 실시예에 따라서 멀티코어 프로세서의 스레드에서 파티션(36)을 디코드하기 위한 스테이징 및 동기화 메카니즘을 보여주고 있다. 도 6a 및 도 6b는 디코딩 처리의 각종 단계에서 예시적인 부분 이미지 프레임(45)을 나타낸다. 이 예는 설명의 목적상 간단히 표시한 것이고, 파티션(36)의 수는 3으로 제한된다. 각 파티션(36)은 3개의 스레드(46, 48, 50) 중 하나에 지정될 수 있다. 위에서 설명한 것처럼, 각 파티션(36)은 인접 매크로블록들을 포함한다.
도 6a 및 도 6b에 도시된 바와 같이, 일 예로서, 3개의 스레드(46, 48, 50)가 도시되어 있고, 각 스레드(46, 48, 50)는 서로 병렬로 디코딩을 수행할 수 있다. 3개의 스레드(46, 48, 50)는 각각 직렬 방식으로 하나의 파티션을 처리하고 3개의 파티션(40) 모두가 서로 병렬로 처리된다.
도 6a 및 도 6b에는 각 매크로블록 행에서 어떤 매크로블록이 현재 디코드되고 있는지, 각 매크로블록 행에서 어떤 매크로블록들이 이미 디코드되었는지, 및 각 매크로블록 행에서 어떤 매크로블록들이 아직 디코드되어야 하는지를 표시하는 화살표가 각각 도시되어 있다. 만일 화살표가 특정의 매크로블록을 지시하면, 그 매크로블록은 현재 디코드되고 있는 중이다. 화살표(만일 있다면)의 좌측에 있는 임의의 매크로블록은 그 행에서 이미 디코드된 것이다. 화살표의 우측에 있는 임의의 매크로블록은 아직 디코드해야 할 것이다. 비록 도 6a 및 도 6b에 도시된 매크로블록들이 모두 비슷한 사이즈를 갖고 있지만, 본 발명의 기술은 이것으로 제한되는 것이 아니다. 위에서 설명한 것처럼, 다른 블록 사이즈도 본 발명의 실시예로서 사용될 수 있다.
도 6a를 참조하면, 시간 t1에서, 스레드(46)가 제1 매크로블록 행(52)의 디코딩을 개시하였다. 스레드(46)는 화살표(58)로 표시한 바와 같이 제1 매크로블록 행(52)에서 매크로블록 j를 현재 처리중이다. 매크로블록 0~j-1은 제1 매크로블록 행(52)에서 이미 디코드된 것이다. 매크로블록 j+1부터 제1 매크로블록 행(52)의 끝까지는 제1 매크로블록 행(52)에서 아직 디코드해야 할 것들이다. 스레드(48)가 또한 제2 매크로블록 행(54)의 디코딩을 개시하였다. 스레드(48)는 화살표(60)로 표시한 바와 같이 제2 매크로블록 행(54)에서 매크로블록 0을 현재 처리중이다. 매크로블록 1부터 제2 매크로블록 행(54)의 끝까지는 제2 매크로블록 행(54)에서 이미 디코드된 것이다. 스레드(50)는 제3 매크로블록 행(56)의 디코딩을 시작하지 않았다. 제3 매크로블록 행(56)에서 디코드를 마쳤거나 현재 디코드 중인 매크로블록은 없다.
도 6b를 참조하면, 시간 t2에서, 스레드(46)가 제1 매크로블록 행(52)의 디코딩을 계속하고 있다. 스레드(46)는 화살표(62)로 표시한 바와 같이 제1 매크로블록 행(52)에서 매크로블록 j*2를 현재 처리중이다. 매크로블록 0~j*2-1은 제1 매크로블록 행(52)에서 이미 디코드된 것이다. 매크로블록 j*2+1부터 제1 매크로블록 행(52)의 끝까지는 제1 매크로블록 행(52)에서 아직 디코드해야 할 것들이다. 스레드(48)가 또한 제2 매크로블록 행(54)의 디코딩을 계속하고 있다. 스레드(48)는 화살표(64)로 표시한 바와 같이 제2 매크로블록 행(54)에서 매크로블록 j를 현재 처리중이다. 매크로블록 0~j-1은 제2 매크로블록 행(54)에서 이미 디코드된 것이다. 매크로블록 j+1부터 제2 매크로블록 행(54)의 끝까지는 제2 매크로블록 행(54)에서 아직 디코드해야 할 것들이다. 스레드(50)가 또한 제3 매크로블록 행(56)의 디코딩을 개시하였다. 스레드(50)는 화살표(66)로 표시한 바와 같이 제3 매크로블록 행(56)에서 매크로블록 0을 현재 처리중이다. 매크로블록 1부터 제3 매크로블록 행(56)의 끝까지는 제3 매크로블록 행(56)에서 아직 디코드해야 할 것들이다.
이전의 디코딩 메카니즘은 상위의 인접 매크로블록 행이 완전히 디코드될 때까지 매크로블록 행의 처리가 개시되지 못하기 때문에 압축 비트스트림을 디코드하는 데 멀티코어 프로세서를 효율적으로 사용할 수 없었다. 이전의 디코딩 메카니즘의 곤란성은 인코딩 단계로부터 유래한다. 데이터가 종래의 인코딩 기술을 이용하여 인코드된 때, 매크로블록 내에서의 공간 의존성은 매크로블록의 특수한 처리 순서를 수반한다. 또한, 일단 프레임이 인코드되었으면, 특정의 매크로블록 행은 그 행이 완전히 디코드될 때까지는 식별될 수 없다. 따라서, CABAC와 같은 엔트로피 부호화 방법을 통합한 영상 부호화 방법은 디코더로 전달되는 직렬화 의존성을 생성하였다. 이러한 직렬화 의존성의 결과로서, 디코딩 방식은 디코딩 처리가 매크로블록 행에서 종료될 때까지 각 컴퓨터 처리 시스템(예를 들면, 스레드(46, 48, 50))의 정보를 이용할 수 없기 때문에 효율이 제한된다.
도 6a 및 도 6b에 도시된 병렬 처리의 스테이징 및 동기화 메카니즘을 사용하면 디코더(21)가 이미지 프레임의 디코딩 처리를 효과적으로 가속할 수 있다. 각 파티션(36)이 별도의 디코딩 처리를 받을 수 있기 때문에, 파티션들 간의 상호 의존성이 도 6a 및 도 6b와 관련하여 위에서 설명한 스테이징 및 동기화 메카니즘의 실시예에 의해 관리될 수 있다. 이러한 스테이징 및 동기화 디코딩 방식을 이용해서, 지정된 파티션을 디코드하는 각 스레드(46, 48, 50)는 이웃 매크로블록으로부터의 콘텍스트 데이터를 이용할 수 있다. 따라서, 디코더(21)는 선행의 매크로블록 행이 완전히 디코드되기 전에 현재 매크로블록을 디코드하는 데 필요한 콘텍스트 데이터를 내포한 매크로블록들을 디코드할 수 있다.
도 6a 및 도 6b를 다시 참조하면, 인코딩 처리 중에 (예를 들면 다수의 매크로블록에서 측정된) 선행 매크로블록 행에서 사용된 콘텍스트 데이터의 사이즈를 시험함으로써 옵셋(j)을 결정할 수 있다. 옵셋(j)은 비트, 바이트, 또는 디코더(21)에 콘텍스트 데이터의 사이즈를 중계할 수 있는 임의의 다른 기록에 의해 프레임(17)에서 표현될 수 있다.
도 7a를 참조하면, 일 예로서 현재 매크로블록(68)이 현재 처리중에 있다. 현재 매크로블록(68)은 인코딩 중에 좌측, 좌측 상부, 상부 및 우측 상부로부터의 콘텍스트 데이터를 이용한다. 다시 말하면, 현재 매크로블록(68)은 매크로블록 (r+1, c-1), (r, c-1), (r, c) 및 (r, c+1)로부터의 정보를 이용한다. 현재 매크로블록(68)을 적절히 디코드하기 위하여, 매크로블록 (r+1, c-1), (r, c-1), (r, c) 및 (r, c+1)이 현재 매크로블록(68) 전에 디코드되어야 한다. 위에서 설명한 것처럼, 매크로블록의 디코딩은 직렬 방식으로 수행될 수 있기 때문에, 매크로블록 (r+1, c-1)이 현재 매크로블록(68) 전에 디코드될 수 있다. 또한, 선행의 매크로블록 행(즉, 매크로블록 행 r)에 있어서, 인코딩 처리가 가장 우측 매크로블록으로서 (r, c+1)를 사용하기 때문에, 디코더는 디코딩 중에 가장 우측 매크로블록으로서 (r, c+1)를 또한 사용할 수 있다. 따라서, 옵셋(j)은 현재 매크로블록의 인코딩 중에 사용된 선행 행의 가장 우측 매크로블록의 열 행 위치(column row position)를 처리 중인 현재 매크로블록의 열 행 위치로부터 뺌으로써 결정될 수 있다. 도 7a에서, 옵셋(j)은 매크로블록(r, c+1)의 열 행 위치를 현재 매크로블록(68)의 열 행 위치(즉, (r+1, c)), 또는 1의 옵셋으로의 상승을 제공하는 c+1-c로부터 뺌으로써 결정될 것이다.
도 7b를 참조하면, 일 실시예로서 현재 매크로블록(68')이 현재 처리중에 있다. 현재 매크로블록(68')은 매크로블록 (r+1, c-1), (r, c-1), (r, c), (r, c+1), (r, c+2) 및 (r, c+3)으로부터의 정보를 이용한다. 현재 매크로블록(68')을 적절히 디코드하기 위하여, 매크로블록 (r+1, c-1), (r, c-1), (r, c), (r, c+1), (r, c+2) 및 (r, c+3)이 현재 매크로블록(68') 전에 디코드되어야 한다. 위에서 설명한 것처럼, 매크로블록의 디코딩은 직렬 방식으로 수행될 수 있기 때문에, 매크로블록 (r+1, c-1)이 현재 매크로블록(68') 전에 디코드될 수 있다. 또한, 선행의 매크로블록 행(즉, 매크로블록 행 r)에 있어서, 인코딩 처리가 가장 우측 매크로블록으로서 (r, c+3)을 사용하기 때문에, 디코더는 디코딩 중에 가장 우측 매크로블록으로서 (r, c+3)을 또한 사용할 수 있다. 위에서 설명한 것처럼, 옵셋(j)은 현재 매크로블록의 인코딩 중에 사용된 선행 행의 가장 우측 매크로블록의 열 행 위치를 처리 중인 현재 매크로블록의 열 행 위치로부터 뺌으로써 결정될 수 있다. 도 7b에서, 옵셋(j)은 매크로블록(r, c+3)의 열 행 위치를 현재 매크로블록(68')의 열 행 위치(즉, (r+1, c)), 또는 3의 옵셋으로의 상승을 제공하는 c+3-c로부터 뺌으로써 계산될 것이다.
양호한 실시예에 있어서, 옵셋은 코덱의 특정 필요조건에 의해 결정될 수 있다. 다른 실시예로서, 옵셋은 비트스트림 내에서 특정될 수 있다.
지금까지 본 발명을 특정 실시예와 관련하여 설명하였지만, 본 발명은 개시된 실시예로 제한되는 것이 아니고, 오히려, 첨부된 청구범위의 정신 및 범위 내에 포함된 각종 변형 및 등가의 구성을 포괄하는 것으로 의도된다는 것을 이해하여야 하며, 청구범위는 관련 법규에 의해 허용되는 한 모든 변형 및 등가 구조를 포함하도록 최광의로 해석되어야 한다.
11: 영상 스트림, 13: 영상 시퀀스
15: 프레임, 17: 프레임
20: 매크로블록, 16: 입력 영상 스트림
18: 인트라/인터 예측, 19: 변환
22: 양자화, 24: 엔트로피 인코딩
26: 압축 비트스트림, 28: 역양자화
30: 역변환, 32: 재축조
34: 루프 필터링, 33: 디블로킹 필터
35: 출력 영상 스트림

Claims (38)

  1. 복수 행의 블록들로 구성된 적어도 하나의 프레임 이미지를 표시하며 제1 인코딩 방식 및 제2 인코딩 방식을 이용하여 인코드된 영상 데이터의 스트림을 디코딩하는 방법에 있어서,
    공유된 1차 메모리 공간을 가진 복수의 프로세서를 제공하는 단계와;
    파티션 카운트 및 파티션 위치 옵셋을 표시하는 기록을 영상 데이터에서 판독하는 단계와;
    파티션 카운트 및 파티션 위치 옵셋에 기초하여 영상 데이터를 복수의 파티션으로 분할하는 단계와;
    복수의 파티션 중에서 제1 파티션과 제2 파티션 -복수의 파티션 중 제1 파티션은 제1 인코딩 방식에 따라서 복수의 파티션 중 제2 파티션을 디코드하기 위해 사용할 수 있는 인코드된 콘텍스트 정보를 포함하는 것임- 을 식별하는 단계와;
    복수의 프로세서 중 제1 프로세서를 이용하여 제2 인코딩 방식에 따라서 복수의 파티션 중 제1 파티션을 디코딩하는 단계와;
    복수의 프로세서 중 제2 프로세서를 이용하여 제1 디코딩 방식에 따라서 복수의 파티션 중 제2 파티션을 디코딩하는 단계
    를 포함하고, 상기 제2 파티션의 디코딩은 특정 갯수의 블록에 의해 옵셋되고, 상기 특정 갯수는 적어도 인코드된 콘텍스트 정보 내의 블록들의 수만큼 크며; 제1 파티션의 디코딩으로부터의 출력의 적어도 일부가 제2 파티션을 디코딩할 때에 입력으로서 사용되는 것인, 영상 데이터 스트림 디코딩 방법.
  2. 제1항에 있어서, 상기 제1 인코딩 방식은 무손실 인코딩을 포함하고, 상기 제2 인코딩 방식은 인트라 프레임 예측과 인터 프레임 예측 중 적어도 하나를 포함한 것인, 영상 데이터 스트림 디코딩 방법.
  3. 제2항에 있어서, 상기 무손실 인코딩은 엔트로피 인코딩 방식인 것인, 영상 데이터 스트림 디코딩 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 제1 파티션 내의 적어도 1행의 블록 및 제2 파티션 내의 적어도 1행의 블록은 영상 데이터에 의해 표시된 이미지 프레임 내의 2개의 인접 행으로부터 유도된 것인, 영상 데이터 스트림 디코딩 방법.
  5. 제1항 내지 제3항 중 어느 한 항에 있어서, 제2 파티션의 디코딩으로부터 출력된 블록들의 행의 적어도 일부는 제1 인코딩 방식과 제2 인코딩 방식 중 적어도 하나의 방식에 따라서 제1 파티션 내의 다른 행의 블록들의 적어도 일부를 디코딩할 때 입력으로서 사용되는 것인, 영상 데이터 스트림 디코딩 방법.
  6. 제5항에 있어서, 제2 파티션의 행은 영상 정보의 프레임에서 제1 파티션의 행에 인접한 것인, 영상 데이터 스트림 디코딩 방법.
  7. 제1항 내지 제3항 중 어느 한 항에 있어서, 제2 인코딩 방식은 제2 파티션의 적어도 1행의 블록에 내포된 콘텍스트 정보를 이용하여 제1 파티션의 적어도 1행의 블록을 인코드하도록 구성된 것인, 영상 데이터 스트림 디코딩 방법.
  8. 제1항 내지 제3항 중 어느 한 항에 있어서, 제2 인코딩 방식은 제1 파티션의 적어도 1행의 블록에 내포된 콘텍스트 정보를 이용하여 제2 파티션의 적어도 1행의 블록을 인코드하도록 구성된 것인, 영상 데이터 스트림 디코딩 방법.
  9. 제8항에 있어서, 제2 파티션 디코딩 단계는 제1 프로세서에 의해 가장 최근에 디코드된 블록들의 정보의 적어도 일부를 제2 파티션의 적어도 1개의 블록을 디코딩하기 위한 콘텍스트 정보로서 이용하는 단계를 더 포함한 것인, 영상 데이터 스트림 디코딩 방법.
  10. 제8항에 있어서, 블록들의 특정 갯수는 제2 인코딩 방식에 의해 사용된 콘텍스트 정보의 사이즈에 기초하여 결정된 것인, 영상 데이터 스트림 디코딩 방법.
  11. 제8항에 있어서, 제1 파티션 내의 1행의 블록 및 제2 파티션 내의 1행의 블록은 영상 데이터의 2개의 연속적인 프레임 내의 대응하는 행으로부터 유도된 것이고, 제2 파티션 디코딩 단계는 제2 파티션 내의 적어도 1개의 블록을 복수의 프로세서 중 제1 프로세서에 의해 이미 디코드된 블록으로부터의 정보를 이용하여 디코딩하는 단계를 더 포함한 것인, 영상 데이터 스트림 디코딩 방법.
  12. 제1항 내지 제3항 중 어느 한 항에 있어서, 파티션의 수를 표시하는 기록을 영상 데이터에서 판독하는 단계를 더 포함하는, 영상 데이터 스트림 디코딩 방법.
  13. 제1항 내지 제3항 중 어느 한 항에 있어서, 특정된 매크로블록 옵셋의 사이즈를 표시하는 기록을 영상 데이터에서 판독하는 단계를 더 포함하는, 영상 데이터 스트림 디코딩 방법.
  14. 제1항 또는 제2항에 있어서, 인코드된 영상 데이터 내에서 파티션의 위치를 표시하는 기록을 영상 데이터에서 판독하는 단계를 더 포함하는, 영상 데이터 스트림 디코딩 방법.
  15. 제1항에 있어서, 상기 제1 인코딩 방식은 콘텍스트 기반 산술 부호화 방식인 것인, 영상 데이터 스트림 디코딩 방법.
  16. 복수 행의 블록들을 가진 적어도 하나의 프레임을 포함한 영상 데이터를 인코딩하는 방법에 있어서,
    행들을 제2 인코딩 방식을 이용하여 인코딩 -각 행을 인코딩하기 위한 입력은 인접 행에 내포된 정보를 포함한 것임- 하는 단계와;
    복수의 행을 복수의 파티션으로 분할 -적어도 2개의 인접 행이 별도의 파티션에 배치됨- 하는 단계와;
    복수의 파티션 각각을 제1 인코딩 방식을 이용하여 추가로 인코딩하는 단계와;
    복수의 행이 분할된 파티션의 수를 표시하는 값을 기록하는 단계와;
    인코드된 영상 데이터 내에서 파티션의 위치를 표시하는 값을 기록하는 단계
    를 포함하는, 영상 데이터 인코딩 방법.
  17. 제16항에 있어서, 상기 제2 인코딩 방식은 인트라 프레임 예측과 인터 프레임 예측 중 적어도 하나를 포함한 것인, 영상 데이터 인코딩 방법.
  18. 제16항에 있어서, 상기 제1 인코딩 방식은 엔트로피 인코딩 방식인 것인, 영상 데이터 인코딩 방법.
  19. 제16항에 있어서, 상기 제1 인코딩 방식은 콘텍스트 기반 산술 부호화 방식인 것인, 영상 데이터 인코딩 방법.
  20. 제16항 내지 제19항 중 어느 한 항에 있어서, 파티션의 수 N은 1보다 더 큰 수인 것인, 영상 데이터 인코딩 방법.
  21. 제16항 내지 제19항 중 어느 한 항에 있어서, 행을 복수의 파티션으로 분할하는 단계는 프레임의 매 N번째 행을 복수의 파티션 중 다른 파티션으로 그룹화하는 단계를 더 포함하고, 프레임 내의 각 인접 행은 별도의 파티션에 배치된 것인, 영상 데이터 인코딩 방법.
  22. 적어도 제1 인코딩 방식을 이용하여 압축된 복수의 파티션을 포함한 인코드된 영상 데이터의 스트림을 디코딩하는 방법에 있어서,
    적어도 제2 인코딩 방식을 이용하여 인코드된 적어도 1행의 블록을 포함한 적어도 제1 파티션을 선택하는 단계와;
    적어도 제2 인코딩 방식을 이용하여 인코드된 적어도 1행의 블록을 포함한 적어도 제2 파티션을 선택하는 단계와;
    제1 프로세서를 이용하여 제1 파티션을 디코딩하는 단계와;
    제2 프로세서를 이용하여 제2 파티션을 디코딩하는 단계를 포함하고, 상기 제2 파티션의 디코딩은 제1 파티션의 디코딩으로부터의 출력의 적어도 일부가 제1 인코딩 방식에 따라 제2 파티션을 디코딩할 때에 입력으로서 사용되도록 특정 갯수의 블록에 의해 옵셋되는 것인, 영상 데이터 스트림 디코딩 방법.
  23. 제22항에 있어서, 제1 인코딩 방식은 무손실 인코딩을 포함하고, 제2 인코딩 방식은 인트라 프레임 예측과 인터 프레임 예측 중 적어도 하나를 포함한 것인, 영상 데이터 스트림 디코딩 방법.
  24. 제22항 또는 제23항에 있어서, 제1 파티션 내의 1행의 블록 및 제2 파티션 내의 1행의 블록은 영상 데이터에 의해 표시된 이미지 프레임 내의 2개의 인접 행으로부터 유도된 것인, 영상 데이터 스트림 디코딩 방법.
  25. 제22항 또는 제23항에 있어서, 무손실 인코딩은 엔트로피 인코딩 방식인 것인, 영상 데이터 스트림 디코딩 방법.
  26. 제22항 또는 제23항에 있어서, 제2 파티션의 디코딩으로부터 출력된 블록들의 행의 적어도 일부는 제1 인코딩 방식과 제2 인코딩 방식 중 적어도 하나의 방식에 따라서 제1 파티션 내의 다른 행의 블록들의 적어도 일부를 디코딩할 때 입력으로서 사용되는 것인, 영상 데이터 스트림 디코딩 방법.
  27. 제26항에 있어서, 제2 파티션의 행은 영상 정보의 프레임에서 제1 파티션의 행에 인접한 것인, 영상 데이터 스트림 디코딩 방법.
  28. 제22항 또는 제23항에 있어서, 제2 인코딩 방식은 제2 파티션의 1행의 블록에 내포된 콘텍스트 정보를 이용하여 제1 파티션의 1행의 블록을 인코드하도록 구성된 것인, 영상 데이터 스트림 디코딩 방법.
  29. 제22항 또는 제23항에 있어서, 제2 인코딩 방식은 제1 파티션의 1행의 블록에 내포된 콘텍스트 정보를 이용하여 제2 파티션의 1행의 블록을 인코드하도록 구성된 것인, 영상 데이터 스트림 디코딩 방법.
  30. 제29항에 있어서, 제2 인코딩 방식은 인트라 프레임 예측과 인터 프레임 예측 중 적어도 하나를 포함한 것인, 영상 데이터 스트림 디코딩 방법.
  31. 제29항에 있어서, 제1 파티션 내의 1행의 블록 및 제2 파티션 내의 1행의 블록은 영상 데이터에 의해 표현된 이미지 프레임의 2개의 인접 행으로부터 유도된 것이고, 제2 파티션 디코딩 단계는 제2 파티션 내의 적어도 1개의 블록을 제1 프로세서에 의해 이미 디코드된 블록으로부터의 정보를 이용하여 디코딩하는 단계를 더 포함하며, 제2 파티션 내의 적어도 1개의 블록 및 제1 파티션 내의 이미 디코드된 블록은 이미지 프레임 내에서 서로 인접한 것인, 영상 데이터 스트림 디코딩 방법.
  32. 제29항에 있어서, 제2 파티션 디코딩 단계는 제1 프로세서에 의해 가장 최근에 디코드된 블록들의 정보의 적어도 일부를 제2 파티션의 적어도 1개의 블록을 디코딩하기 위한 콘텍스트 데이터로서 이용하는 단계를 더 포함한 것인, 영상 데이터 스트림 디코딩 방법.
  33. 제29항에 있어서, 특정된 옵셋은 제2 인코딩 방식에 의해 사용된 콘텍스트의 사이즈에 기초하여 결정된 것인, 영상 데이터 스트림 디코딩 방법.
  34. 제29항에 있어서, 제1 파티션 내의 1행의 블록 및 제2 파티션 내의 1행의 블록은 영상 데이터의 2개의 연속적인 프레임 내의 대응하는 행으로부터 유도된 것이고, 제2 파티션 디코딩 단계는 제2 파티션 내의 적어도 1개의 블록을 제1 프로세서에 의해 이미 디코드된 블록으로부터의 정보를 이용하여 디코딩하는 단계를 더 포함한 것인, 영상 데이터 스트림 디코딩 방법.
  35. 제22항 또는 제23항에 있어서, 파티션의 수를 표시하는 기록을 영상 데이터에서 판독하는 단계를 더 포함하는, 영상 데이터 스트림 디코딩 방법.
  36. 제22항 또는 제23항에 있어서, 특정된 매크로블록 옵셋의 사이즈를 표시하는 기록을 영상 데이터에서 판독하는 단계를 더 포함하는, 영상 데이터 스트림 디코딩 방법.
  37. 제22항 또는 제23항에 있어서, 인코드된 영상 데이터 내에서 파티션의 위치를 표시하는 기록을 영상 데이터에서 판독하는 단계를 더 포함하는, 영상 데이터 스트림 디코딩 방법.
  38. 제22항 또는 제23항에 있어서, 제1 인코딩 방식은 콘텍스트 기반 산술 부호화 방식인 것인, 영상 데이터 스트림 디코딩 방법.
KR1020117006211A 2008-09-11 2009-09-10 병렬 처리를 이용하여 디코딩하는 시스템 및 방법 KR20110053243A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US9622308P 2008-09-11 2008-09-11
US61/096,223 2008-09-11
US12/329,248 US8311111B2 (en) 2008-09-11 2008-12-05 System and method for decoding using parallel processing
US12/329,248 2008-12-05

Publications (1)

Publication Number Publication Date
KR20110053243A true KR20110053243A (ko) 2011-05-19

Family

ID=41799267

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117006211A KR20110053243A (ko) 2008-09-11 2009-09-10 병렬 처리를 이용하여 디코딩하는 시스템 및 방법

Country Status (7)

Country Link
US (5) US8311111B2 (ko)
EP (1) EP2324639B1 (ko)
JP (1) JP5400888B2 (ko)
KR (1) KR20110053243A (ko)
CN (1) CN102150425B (ko)
CA (1) CA2736888A1 (ko)
WO (1) WO2010030752A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140114436A (ko) * 2012-01-20 2014-09-26 퀄컴 인코포레이티드 멀티-쓰레딩된 텍스처 디코딩
KR20170069074A (ko) * 2015-12-10 2017-06-20 삼성전자주식회사 디코더의 동작 방법, 및 상기 디코더를 포함하는 어플리케이션 프로세서의 동작 방법

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386048B2 (en) 2002-05-28 2008-06-10 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode organization
JP5200204B2 (ja) 2006-03-14 2013-06-05 ディブエックス リミテッド ライアビリティー カンパニー 高信頼性システムを含む連合型デジタル権限管理機構
US8311111B2 (en) 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
KR101590633B1 (ko) * 2008-11-11 2016-02-02 삼성전자주식회사 슬라이스 단위로 분할된 동영상을 처리하는 동영상 부호화/복호화장치 및 동영상 부호화/복호화방법
JP5681641B2 (ja) 2009-01-07 2015-03-11 ソニック アイピー, インコーポレイテッド オンラインコンテンツのためのメディアガイドの特異的、収集的および自動的な生成
EP2507995A4 (en) 2009-12-04 2014-07-09 Sonic Ip Inc SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL
EP2534643A4 (en) * 2010-02-11 2016-01-06 Nokia Technologies Oy METHOD AND APPARATUS FOR PROVIDING MULTIFIL VIDEO DECODING
JP5914962B2 (ja) * 2010-04-09 2016-05-11 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
KR101673186B1 (ko) * 2010-06-09 2016-11-07 삼성전자주식회사 매크로블록의 연관관계를 고려하여 영상 데이터의 부호화 및 복호화를 병렬 처리하는 장치 및 방법
KR101698797B1 (ko) * 2010-07-27 2017-01-23 삼성전자주식회사 영상 데이터를 분할하여 부호화 및 복호화를 병렬 처리하는 장치 및 상기 장치의 동작 방법
US8344917B2 (en) * 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
US8611415B1 (en) 2010-11-15 2013-12-17 Google Inc. System and method for coding using improved motion estimation
GB2486692B (en) * 2010-12-22 2014-04-16 Canon Kk Method for encoding a video sequence and associated encoding device
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US9497466B2 (en) * 2011-01-17 2016-11-15 Mediatek Inc. Buffering apparatus for buffering multi-partition video/image bitstream and related method thereof
US8990435B2 (en) 2011-01-17 2015-03-24 Mediatek Inc. Method and apparatus for accessing data of multi-tile encoded picture stored in buffering apparatus
US20120314775A1 (en) * 2011-06-08 2012-12-13 Vixs Systems, Inc. Video decoder with transposing vector processor and methods for use therewith
US8767824B2 (en) 2011-07-11 2014-07-01 Sharp Kabushiki Kaisha Video decoder parallelization for tiles
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
WO2013063982A1 (en) 2011-10-31 2013-05-10 Mediatek Inc. Apparatus and method for buffering context arrays referenced for performing entropy decoding upon multi-tile encoded picture and related entropy decoder
US9124895B2 (en) 2011-11-04 2015-09-01 Qualcomm Incorporated Video coding with network abstraction layer units that include multiple encoded picture partitions
US9077998B2 (en) * 2011-11-04 2015-07-07 Qualcomm Incorporated Padding of segments in coded slice NAL units
TWI470575B (zh) * 2011-11-24 2015-01-21 Mediatek Inc 用於緩衝裝置之讀取指標暫存的方法、緩衝控制器以及緩衝裝置
US9565476B2 (en) * 2011-12-02 2017-02-07 Netzyn, Inc. Video providing textual content system and method
US9100657B1 (en) 2011-12-07 2015-08-04 Google Inc. Encoding time management in parallel real-time video encoding
WO2013100694A1 (ko) * 2011-12-29 2013-07-04 엘지전자 주식회사 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치
US9332259B2 (en) 2012-01-18 2016-05-03 Qualcomm Incorporated Indication of use of wavefront parallel processing in video coding
US20130204962A1 (en) * 2012-02-02 2013-08-08 Texas Instruments Incorporated Network and peripheral interface circuits, systems and processes
US9185429B1 (en) 2012-04-30 2015-11-10 Google Inc. Video encoding and decoding using un-equal error protection
US9113164B1 (en) 2012-05-15 2015-08-18 Google Inc. Constant bit rate control using implicit quantization values
JP6080405B2 (ja) 2012-06-29 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9426498B2 (en) 2012-07-10 2016-08-23 Broadcom Corporation Real-time encoding system of multiple spatially scaled video based on shared video coding information
CN102761487B (zh) * 2012-07-12 2016-04-27 国家计算机网络与信息安全管理中心 数据流处理方法和系统
CN102769750A (zh) * 2012-07-12 2012-11-07 国家计算机网络与信息安全管理中心 基于众核平台的解码方法和解码设备
US9510019B2 (en) 2012-08-09 2016-11-29 Google Inc. Two-step quantization and coding method and apparatus
US9491461B2 (en) * 2012-09-27 2016-11-08 Qualcomm Incorporated Scalable extensions to HEVC and temporal motion vector prediction
US9826229B2 (en) 2012-09-29 2017-11-21 Google Technology Holdings LLC Scan pattern determination from base layer pixel information for scalable extension
US9407915B2 (en) 2012-10-08 2016-08-02 Google Inc. Lossless video coding with sub-frame level optimal quantization values
US9350988B1 (en) 2012-11-20 2016-05-24 Google Inc. Prediction mode-based block ordering in video coding
CN104885450B (zh) * 2012-12-27 2017-09-08 日本电信电话株式会社 图像编码方法、图像解码方法、图像编码装置、图像解码装置、图像编码程序、以及图像解码程序
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9681128B1 (en) 2013-01-31 2017-06-13 Google Inc. Adaptive pre-transform scanning patterns for video and image compression
KR101932539B1 (ko) * 2013-02-18 2018-12-27 한화테크윈 주식회사 동영상 데이터를 기록하는 방법, 및 이 방법을 채용한 촬영 장치
US9906785B2 (en) * 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US11228769B2 (en) 2013-06-03 2022-01-18 Texas Instruments Incorporated Multi-threading in a video hardware engine
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
US9247251B1 (en) 2013-07-26 2016-01-26 Google Inc. Right-edge extension for quad-tree intra-prediction
JP6242139B2 (ja) * 2013-10-02 2017-12-06 ルネサスエレクトロニクス株式会社 動画像復号処理装置およびその動作方法
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US20160191922A1 (en) * 2014-04-22 2016-06-30 Mediatek Inc. Mixed-level multi-core parallel video decoding system
US9143161B1 (en) 2014-04-25 2015-09-22 International Business Machines Corporation Field level compression in parallel data flows
CN105100803B (zh) * 2014-04-29 2018-12-18 三星电子(中国)研发中心 视频解码优化方法
KR20160070512A (ko) 2014-12-10 2016-06-20 삼성전자주식회사 반도체 장치 및 그 동작 방법
CN105376583B (zh) * 2015-04-07 2017-02-22 佛山世寰智能科技有限公司 一种按行交错划分任务和数据的多核并行视频解码方法
CN106210728B (zh) * 2015-04-10 2019-08-30 上海澜至半导体有限公司 用于视频解码的电路、方法和视频解码器
JP6715466B2 (ja) * 2015-06-12 2020-07-01 パナソニックIpマネジメント株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
US9794574B2 (en) 2016-01-11 2017-10-17 Google Inc. Adaptive tile data size coding for video and image compression
US10542258B2 (en) 2016-01-25 2020-01-21 Google Llc Tile copying for video compression
KR101974261B1 (ko) * 2016-06-24 2019-04-30 한국과학기술원 Cnn 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치
CN108063948B (zh) * 2016-11-08 2020-08-04 联发科技股份有限公司 配合多个处理器的影像处理装置及影像处理方法
JP6505142B2 (ja) * 2017-01-18 2019-04-24 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
GB2579462B (en) * 2017-08-24 2022-02-16 Toyota Motor Europe System and method for label augmentation in video data
GB2570879B (en) * 2018-02-06 2022-08-17 Advanced Risc Mach Ltd Encoding data arrays
CN111447453B (zh) * 2020-03-31 2024-05-17 西安万像电子科技有限公司 图像处理方法及装置
CN112702598B (zh) * 2020-12-03 2024-06-04 浙江智慧视频安防创新中心有限公司 基于位移操作进行编解码的方法、装置、电子设备及介质
US20220236399A1 (en) * 2021-01-27 2022-07-28 Texas Instruments Incorporated System and method for the compression of echolocation data
US11516477B2 (en) 2021-02-11 2022-11-29 Qualcomm Incorporated Intra block copy scratch frame buffer
CN113259675B (zh) * 2021-05-06 2021-10-01 北京中科大洋科技发展股份有限公司 一种超高清晰度视频图像并行处理方法
CN116114245A (zh) 2021-09-02 2023-05-12 辉达公司 在视频编码过程中视频帧的并行处理
CN116076073A (zh) * 2021-09-02 2023-05-05 辉达公司 用于高性能视频编码的硬件编解码器加速器

Family Cites Families (189)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH522330A (de) * 1971-06-03 1972-06-15 Ibm Verfahren und Einrichtung zur Codierung und Decodierung von Videosignalen
US4729127A (en) * 1981-10-20 1988-03-01 The United States Of America As Represented By The Secretary Of The Army Method and system for compression and reconstruction of cultural data for use in a digital moving map display
US4719642A (en) * 1985-02-27 1988-01-12 Scientific Atlanta, Inc. Error detection and concealment using predicted signal values
US4736446A (en) * 1985-03-29 1988-04-05 Quad-Tech Inc. Cutoff control system
GB2189106B (en) * 1986-04-14 1990-02-14 Philips Electronic Associated Image display
US4891748A (en) * 1986-05-30 1990-01-02 Mann Ralph V System and method for teaching physical skills
US4797729A (en) 1988-02-05 1989-01-10 Eastman Kodak Company System incorporating an error tolerant picture compression algorithm
JPH03129987A (ja) * 1989-10-14 1991-06-03 Sony Corp 映像信号符号化装置及び映像信号符号化方法
US5136371A (en) * 1990-03-15 1992-08-04 Thomson Consumer Electronics, Inc. Digital image coding using random scanning
US5091782A (en) * 1990-04-09 1992-02-25 General Instrument Corporation Apparatus and method for adaptively compressing successive blocks of digital video
US5083214A (en) * 1990-05-02 1992-01-21 Eastman Kodak Company Apparatus and methods for extracting data from a scanned bit-mapped data strip
US5068724A (en) * 1990-06-15 1991-11-26 General Instrument Corporation Adaptive motion compensation for digital television
GB9015986D0 (en) * 1990-07-20 1990-09-05 Philips Electronic Associated Image display
US5164819A (en) * 1991-04-03 1992-11-17 Music John D Method and system for coding and compressing color video signals
US5313306A (en) * 1991-05-13 1994-05-17 Telerobotics International, Inc. Omniview motionless camera endoscopy system
US5341440A (en) * 1991-07-12 1994-08-23 Earl Joseph G Method and apparatus for increasing information compressibility
JP2586260B2 (ja) * 1991-10-22 1997-02-26 三菱電機株式会社 適応的ブロッキング画像符号化装置
US5434678A (en) * 1993-01-11 1995-07-18 Abecassis; Max Seamless transmission of non-sequential video segments
US6208805B1 (en) * 1992-02-07 2001-03-27 Max Abecassis Inhibiting a control function from interfering with a playing of a video
US5225832A (en) 1992-02-13 1993-07-06 Industrial Technology Research Institute High speed variable length decoder
US5506621A (en) 1992-08-21 1996-04-09 Canon Kabushiki Kaisha Image processing method and apparatus
WO1994018799A1 (en) * 1993-02-03 1994-08-18 Qualcomm Incorporated Interframe video encoding and decoding system
US5381145A (en) * 1993-02-10 1995-01-10 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
US6327304B1 (en) * 1993-05-12 2001-12-04 The Duck Corporation Apparatus and method to digitally compress video signals
US6181822B1 (en) * 1993-05-12 2001-01-30 The Duck Corporation Data compression apparatus and method
US5432870A (en) * 1993-06-30 1995-07-11 Ricoh Corporation Method and apparatus for compressing and decompressing images of documents
US5452006A (en) * 1993-10-25 1995-09-19 Lsi Logic Corporation Two-part synchronization scheme for digital video decoders
US5999641A (en) * 1993-11-18 1999-12-07 The Duck Corporation System for manipulating digitized image objects in three dimensions
US5576765A (en) * 1994-03-17 1996-11-19 International Business Machines, Corporation Video decoder
JPH07288819A (ja) * 1994-04-19 1995-10-31 Sony Corp 動きベクトル検出装置
KR0134483B1 (ko) 1994-06-14 1998-05-15 배순훈 디코더에 있어서 어드레스 보정 회로(address correction circuit of the decoder)
JP3474005B2 (ja) * 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法
US5561477A (en) * 1994-10-26 1996-10-01 Thomson Consumer Electronics, Inc. System for coding a video signal in the presence of an image intensity gradient
JPH08275160A (ja) * 1995-03-27 1996-10-18 Internatl Business Mach Corp <Ibm> 離散余弦変換方法
US5818969A (en) * 1995-05-12 1998-10-06 Intel Corporation Intelligent start for motion estimation search
US5734744A (en) * 1995-06-07 1998-03-31 Pixar Method and apparatus for compression and decompression of color data
US5930493A (en) * 1995-06-07 1999-07-27 International Business Machines Corporation Multimedia server system and method for communicating multimedia information
MY121607A (en) * 1995-07-10 2006-02-28 Hyundai Curitel Inc Grid moving method of object image and apparatus using the same and compaction/motion estimation method using the same and apparatus thereof
US6119154A (en) * 1995-07-14 2000-09-12 Oracle Corporation Method and apparatus for non-sequential access to an in-progress video feed
US5659539A (en) * 1995-07-14 1997-08-19 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information
US5774593A (en) * 1995-07-24 1998-06-30 University Of Washington Automatic scene decomposition and optimization of MPEG compressed video
DE69629986T2 (de) 1995-07-27 2004-07-15 Victor Company of Japan, Ltd., Yokohama Verfahren und Gerät zum Kodieren digitaler akustischer Signale
US5793647A (en) * 1995-08-15 1998-08-11 Diffracto, Ltd. System and method for graphical image data acquistion, storage, and retrieval
US5929940A (en) * 1995-10-25 1999-07-27 U.S. Philips Corporation Method and device for estimating motion between images, system for encoding segmented images
WO1997017797A2 (en) * 1995-10-25 1997-05-15 Sarnoff Corporation Apparatus and method for quadtree based variable block size motion estimation
US6160846A (en) 1995-10-25 2000-12-12 Sarnoff Corporation Apparatus and method for optimizing the rate control in a coding system
US6041145A (en) * 1995-11-02 2000-03-21 Matsushita Electric Industrial Co., Ltd. Device and method for smoothing picture signal, device and method for encoding picture and device and method for decoding picture
GB2308262B (en) * 1995-12-16 1999-08-04 Paul Gordon Wilkins Method for analysing the content of a video signal
JP3157101B2 (ja) * 1996-03-08 2001-04-16 沖電気工業株式会社 画像符号化方法及び画像符号化装置
US5748247A (en) * 1996-04-08 1998-05-05 Tektronix, Inc. Refinement of block motion vectors to achieve a dense motion field
JP3228874B2 (ja) * 1996-06-05 2001-11-12 松下電器産業株式会社 圧縮ディジタルビデオビットストリーム分割方法及び装置、並びにその復号方法及び装置
US5818530A (en) * 1996-06-19 1998-10-06 Thomson Consumer Electronics, Inc. MPEG compatible decoder including a dual stage data reduction network
US5828370A (en) * 1996-07-01 1998-10-27 Thompson Consumer Electronics Inc. Video delivery system and method for displaying indexing slider bar on the subscriber video screen
JP3510433B2 (ja) 1996-11-26 2004-03-29 シャープ株式会社 画像処理装置
US6594315B1 (en) 1996-12-18 2003-07-15 Thomson Licensing S.A. Formatting of recompressed data in an MPEG decoder
US6496537B1 (en) 1996-12-18 2002-12-17 Thomson Licensing S.A. Video decoder with interleaved data processing
DE69734968T2 (de) 1996-12-20 2006-07-27 International Business Machines Corp. Vermittlungssystem mit verteilten Elementen zur Verbindung mit Leitungsanpassern und mit Mehrfachübertragungsmöglichkeit
US5963203A (en) * 1997-07-03 1999-10-05 Obvious Technology, Inc. Interactive video icon with designated viewing position
US6014706A (en) * 1997-01-30 2000-01-11 Microsoft Corporation Methods and apparatus for implementing control functions in a streamed video display system
US6188799B1 (en) * 1997-02-07 2001-02-13 Matsushita Electric Industrial Co., Ltd. Method and apparatus for removing noise in still and moving pictures
JP3095140B2 (ja) * 1997-03-10 2000-10-03 三星電子株式会社 ブロック化効果の低減のための一次元信号適応フィルター及びフィルタリング方法
JP3351705B2 (ja) * 1997-04-25 2002-12-03 日本ビクター株式会社 動き補償符号化装置、動き補償符号化方法、及び記録媒体への記録方法
US6125229A (en) * 1997-06-02 2000-09-26 Philips Electronics North America Corporation Visual indexing system
US6112234A (en) * 1997-07-01 2000-08-29 Leiper; Thomas W. Method for transfer of radiographic images
US6108383A (en) * 1997-07-15 2000-08-22 On2.Com, Inc. Method and apparatus for compression and decompression of video images
KR100244290B1 (ko) * 1997-09-09 2000-02-01 구자홍 저속 전송에서의 동영상을 위한 디블록킹 필터링 방법
US6292837B1 (en) * 1997-10-30 2001-09-18 Daniel Miller Apparatus and method for non-sequential image data transmission and display
US6366704B1 (en) 1997-12-01 2002-04-02 Sharp Laboratories Of America, Inc. Method and apparatus for a delay-adaptive rate control scheme for the frame layer
US6181742B1 (en) 1998-01-26 2001-01-30 International Business Machines Corporation Single pass target allocation for video encoding
JP4427827B2 (ja) * 1998-07-15 2010-03-10 ソニー株式会社 データ処理方法、データ処理装置及び記録媒体
DE19835845A1 (de) 1998-08-07 2000-02-10 Siemens Ag Verfahren und Anordnung zur Bewegungsschätzung in einem digitalisierten Bild mit Bildpunkten
US6418166B1 (en) * 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern
US6697061B1 (en) * 1999-01-21 2004-02-24 Hewlett-Packard Development Company, L.P. Image compression featuring selective re-use of prior compression data
US6529638B1 (en) * 1999-02-01 2003-03-04 Sharp Laboratories Of America, Inc. Block boundary artifact reduction for block-based image compression
US6400763B1 (en) * 1999-02-18 2002-06-04 Hewlett-Packard Company Compression system which re-uses prior motion vectors
JP2000270328A (ja) * 1999-03-17 2000-09-29 Mitsubishi Electric Corp 動きベクトル検出装置
WO2001010135A1 (en) * 1999-07-29 2001-02-08 Mitsubishi Denki Kabushiki Kaisha Moving vector detecting method
US6735249B1 (en) * 1999-08-11 2004-05-11 Nokia Corporation Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding
US7227589B1 (en) * 1999-12-22 2007-06-05 Intel Corporation Method and apparatus for video decoding on a multiprocessor system
WO2001049036A1 (en) * 1999-12-28 2001-07-05 Koninklijke Philips Electronics N.V. Snr scalable video encoding method and corresponding decoding method
US6522784B1 (en) * 2000-04-11 2003-02-18 International Business Machines Corporation Enhanced compression of gray-level images
EP1152621A1 (en) 2000-05-05 2001-11-07 STMicroelectronics S.r.l. Motion estimation process and system.
US6876703B2 (en) 2000-05-11 2005-04-05 Ub Video Inc. Method and apparatus for video coding
US6707952B1 (en) * 2000-05-30 2004-03-16 Sharp Laboratories Of America, Inc. Method for removing ringing artifacts from locations near dominant edges of an image reconstructed after compression
US7079579B2 (en) 2000-07-13 2006-07-18 Samsung Electronics Co., Ltd. Block matching processor and method for block matching motion estimation in video compression
US20050210145A1 (en) 2000-07-24 2005-09-22 Vivcom, Inc. Delivering and processing multimedia bookmark
JP4607305B2 (ja) * 2000-09-27 2011-01-05 株式会社東芝 映像符号化装置及び映像符号化方法
US6765964B1 (en) * 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
KR20020087957A (ko) * 2001-02-06 2002-11-23 코닌클리케 필립스 일렉트로닉스 엔.브이. 임의로 형성된 오브젝트의 텍스처에 적용되는 전처리 방법
US20030023982A1 (en) * 2001-05-18 2003-01-30 Tsu-Chang Lee Scalable video encoding/storage/distribution/decoding for symmetrical multiple video processors
US6987866B2 (en) * 2001-06-05 2006-01-17 Micron Technology, Inc. Multi-modal motion estimation for video sequences
US7801215B2 (en) 2001-07-24 2010-09-21 Sasken Communication Technologies Limited Motion estimation technique for digital video encoding applications
US7027654B1 (en) * 2001-08-16 2006-04-11 On2 Technologies Video compression system
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US7003035B2 (en) * 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US8401084B2 (en) * 2002-04-01 2013-03-19 Broadcom Corporation System and method for multi-row decoding of video with dependent rows
US7116831B2 (en) * 2002-04-10 2006-10-03 Microsoft Corporation Chrominance motion vector rounding
US7170937B2 (en) * 2002-05-01 2007-01-30 Texas Instruments Incorporated Complexity-scalable intra-frame prediction technique
US7469012B2 (en) * 2002-05-14 2008-12-23 Broadcom Corporation System and method for transcoding entropy-coded bitstreams
US7305036B2 (en) * 2002-05-14 2007-12-04 Broadcom Corporation System and method for entropy code preprocessing
EP1365592A3 (en) * 2002-05-20 2005-02-09 Broadcom Corporation System, method, and apparatus for decoding flexibly ordered macroblocks
US7813431B2 (en) * 2002-05-20 2010-10-12 Broadcom Corporation System, method, and apparatus for decoding flexibility ordered macroblocks
US7236524B2 (en) * 2002-05-28 2007-06-26 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode communication
KR100504471B1 (ko) 2002-08-08 2005-08-03 엘지전자 주식회사 비디오 디코딩 시스템
AU2002951574A0 (en) * 2002-09-20 2002-10-03 Unisearch Limited Method of signalling motion information for efficient scalable video compression
WO2004030369A1 (en) * 2002-09-27 2004-04-08 Videosoft, Inc. Real-time video coding/decoding
WO2004057460A2 (en) * 2002-12-20 2004-07-08 Koninklijke Philips Electronics N.V. Segment-based motion estimation
US7170934B2 (en) * 2002-12-20 2007-01-30 Lsi Logic Corporation Method and/or apparatus for motion estimation using a hierarchical search followed by a computation split for different block sizes
US8824553B2 (en) * 2003-05-12 2014-09-02 Google Inc. Video compression method
US7327786B2 (en) * 2003-06-02 2008-02-05 Lsi Logic Corporation Method for improving rate-distortion performance of a video compression system through parallel coefficient cancellation in the transform
ITMI20031128A1 (it) * 2003-06-05 2004-12-06 St Microelectronics Srl Metodo ed apparato per decodificare immagini digitali
US20050050002A1 (en) 2003-07-11 2005-03-03 Benjamin Slotznick Apparatus and method of presenting textual material to enhance readability for people who have difficulty distinguishing left from right
JP4419458B2 (ja) * 2003-07-14 2010-02-24 リコープリンティングシステムズ株式会社 インクジェットヘッドの製造方法
US7627039B2 (en) * 2003-09-05 2009-12-01 Realnetworks, Inc. Parallel video decoding
US7330509B2 (en) * 2003-09-12 2008-02-12 International Business Machines Corporation Method for video transcoding with adaptive frame rate control
TWI236278B (en) 2003-11-13 2005-07-11 Mediatek Inc Video bit stream decoding system and method used in a video decoding apparatus
US7362809B2 (en) 2003-12-10 2008-04-22 Lsi Logic Corporation Computational reduction in motion estimation based on lower bound of cost function
KR20050072526A (ko) * 2004-01-06 2005-07-12 삼성전자주식회사 예측 부호화 장치, 예측 부호화 방법 및 상기 예측 부호화방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한기록매체
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
JP4217174B2 (ja) 2004-02-13 2009-01-28 パナソニック株式会社 動画符号化装置および動画符号化方法
US7991053B2 (en) * 2004-05-04 2011-08-02 Qualcomm Incorporated Method and apparatus to enable acquisition of media in streaming applications
US20050259747A1 (en) * 2004-05-21 2005-11-24 Broadcom Advanced Compression Group, Llc Context adaptive binary arithmetic code decoder for decoding macroblock adaptive field/frame coded video data
KR20050112445A (ko) * 2004-05-25 2005-11-30 경희대학교 산학협력단 예측 부호화/복호화 장치, 예측 부호화/복호화 방법 및 그방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한기록매체
US7953152B1 (en) 2004-06-28 2011-05-31 Google Inc. Video compression and encoding method
DE602005020218D1 (de) 2004-07-29 2010-05-12 St Microelectronics Pvt Ltd Videodekoder mit Parallelprozessoren für die Dekodierung von Makroblocks
US7930184B2 (en) * 2004-08-04 2011-04-19 Dts, Inc. Multi-channel audio coding/decoding of random access points and transients
US7558428B2 (en) 2004-09-13 2009-07-07 Microsoft Corporation Accelerated video encoding using a graphics processing unit
US7830964B2 (en) 2004-11-24 2010-11-09 Lsi Corporation Method and/or apparatus for parsing compressed video bitstreams
US7630565B2 (en) * 2004-11-30 2009-12-08 Lsi Corporation Parallel video encoder with whole picture deblocking and/or whole picture compressed as a single slice
US9213557B2 (en) 2004-12-08 2015-12-15 Andrew M. Dubinsky Method and system for embedding user assistance in documents utilizing markup languages
US20060126726A1 (en) 2004-12-10 2006-06-15 Lin Teng C Digital signal processing structure for decoding multiple video standards
US7430238B2 (en) 2004-12-10 2008-09-30 Micronas Usa, Inc. Shared pipeline architecture for motion vector prediction and residual decoding
JP4064973B2 (ja) * 2005-03-23 2008-03-19 株式会社東芝 ビデオエンコーダ及びこれを用いた携帯無線端末装置
US20060256858A1 (en) 2005-05-16 2006-11-16 Douglas Chin Method and system for rate control in a video encoder
EP1732329A1 (en) 2005-06-06 2006-12-13 STMicroelectronics S.r.l. Method and apparatus for coding moving images
US20070025441A1 (en) * 2005-07-28 2007-02-01 Nokia Corporation Method, module, device and system for rate control provision for video encoders capable of variable bit rate encoding
KR100727972B1 (ko) * 2005-09-06 2007-06-14 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
CN101783942A (zh) 2005-09-20 2010-07-21 三菱电机株式会社 图像编码装置和图像编码方法
US20070086528A1 (en) * 2005-10-18 2007-04-19 Mauchly J W Video encoder with multiple processors
US7852940B2 (en) 2005-10-20 2010-12-14 Qualcomm Incorporated Scalable motion estimation for video encoding
FR2894740A1 (fr) * 2005-12-12 2007-06-15 Thomson Licensing Sa Dispositif de codage, procede de codage, systeme de decodage procede de decodage de donnees video
US8902977B2 (en) * 2006-01-09 2014-12-02 Thomson Licensing Method and apparatus for providing reduced resolution update mode for multi-view video coding
US7952643B2 (en) 2006-03-30 2011-05-31 Intel Corporation Pipelining techniques for deinterlacing video information
US8019002B2 (en) * 2006-06-08 2011-09-13 Qualcomm Incorporated Parallel batch decoding of video blocks
JP4879269B2 (ja) * 2006-08-15 2012-02-22 富士通株式会社 復号化方法及び装置
US9055306B2 (en) 2006-08-31 2015-06-09 Ati Technologies Ulc Parallel decoding method and system for highly compressed data
US7912302B2 (en) 2006-09-21 2011-03-22 Analog Devices, Inc. Multiprocessor decoder system and method
US8213518B1 (en) * 2006-10-31 2012-07-03 Sony Computer Entertainment Inc. Multi-threaded streaming data decoding
US20080152014A1 (en) 2006-12-21 2008-06-26 On Demand Microelectronics Method and apparatus for encoding and decoding of video streams
US20080159407A1 (en) 2006-12-28 2008-07-03 Yang Nick Y Mechanism for a parallel processing in-loop deblock filter
US9826197B2 (en) * 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
US8594137B2 (en) 2007-02-20 2013-11-26 Teradici Corporation Apparatus and methods for image decoding
US8594180B2 (en) 2007-02-21 2013-11-26 Qualcomm Incorporated 3D video encoding
US8416857B2 (en) 2007-03-29 2013-04-09 James Au Parallel or pipelined macroblock processing
US20080267295A1 (en) * 2007-04-26 2008-10-30 Chih-Ta Star Sung Video decompression, de-interlacing and frame rate conversion with frame buffer compression
US8213498B2 (en) * 2007-05-31 2012-07-03 Qualcomm Incorporated Bitrate reduction techniques for image transcoding
US20080317364A1 (en) * 2007-06-25 2008-12-25 Augusta Technology, Inc. Methods for determining neighboring locations for partitions of a video stream
US8265144B2 (en) 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US9648325B2 (en) * 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US8948267B1 (en) * 2007-11-21 2015-02-03 Marvell International Ltd. System and method of video coding using adaptive macroblock processing
US8599921B2 (en) * 2009-03-27 2013-12-03 Vixs Systems, Inc Adaptive partition subset selection module and method for use therewith
US8923384B2 (en) * 2007-12-31 2014-12-30 Netlogic Microsystems, Inc. System, method and device for processing macroblock video data
US8098733B2 (en) 2008-03-10 2012-01-17 Neomagic Corp. Multi-directional motion estimation using parallel processors and pre-computed search-strategy offset tables
US9055301B2 (en) 2008-03-18 2015-06-09 Texas Instruments Incorporated Changing motion estimation precision to maintain encoding within desired time
US8542748B2 (en) * 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
US20090249178A1 (en) 2008-04-01 2009-10-01 Ambrosino Timothy J Document linking
US8422772B2 (en) 2008-06-10 2013-04-16 Panasonic Corporation Decoding device, decoding method, and receiving device
US8311111B2 (en) 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
US8175161B1 (en) 2008-09-12 2012-05-08 Arecont Vision, Llc. System and method for motion estimation
US8855191B2 (en) 2008-11-24 2014-10-07 Broadcast International, Inc. Parallelization of high-performance video encoding on a single-chip multiprocessor
WO2010063184A1 (en) 2008-12-03 2010-06-10 Mediatek Inc. Method for performing parallel cabac processing with ordered entropy slices, and associated apparatus
WO2010082904A1 (en) 2009-01-15 2010-07-22 Agency For Science, Technology And Research Image encoding methods, image decoding methods, image encoding apparatuses, and image decoding apparatuses
KR100958177B1 (ko) 2009-01-22 2010-05-14 주식회사 코아로직 영상의 부호화 방법 및 장치
US8311115B2 (en) 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
TWI463861B (zh) 2009-03-17 2014-12-01 Mstar Semiconductor Inc 消除蚊狀雜訊裝置及方法
US8520734B1 (en) 2009-07-31 2013-08-27 Teradici Corporation Method and system for remotely communicating a computer rendered image sequence
JP2011041037A (ja) 2009-08-12 2011-02-24 Sony Corp 画像処理装置および方法
US8503534B2 (en) 2010-04-22 2013-08-06 Maxim Integrated Products, Inc. Multi-bus architecture for a video codec
KR101081317B1 (ko) 2010-07-12 2011-11-08 전북대학교산학협력단 릴레이 기반의 df 협력 무선 네트워크에서 분산형 μιμο 채널 프리코딩 및 디코딩 방법
JPWO2012035730A1 (ja) 2010-09-16 2014-01-20 パナソニック株式会社 画像復号装置、画像符号化装置、それらの方法、プログラム、集積回路およびトランスコード装置
US8837601B2 (en) 2010-12-10 2014-09-16 Netflix, Inc. Parallel video encoding based on complexity analysis
US8331703B2 (en) 2011-02-18 2012-12-11 Arm Limited Parallel image encoding
US8767817B1 (en) * 2011-04-07 2014-07-01 Google Inc. Apparatus and method for coding using parameterized equation
US20130034150A1 (en) 2011-08-05 2013-02-07 Texas Instruments Incorporated Systems and methods for multimedia data encoding and decoding
US8872895B2 (en) 2011-09-30 2014-10-28 Deutsche Telekom Ag Real-time video coding using graphics rendering contexts
US9100657B1 (en) 2011-12-07 2015-08-04 Google Inc. Encoding time management in parallel real-time video encoding
US9100509B1 (en) 2012-02-07 2015-08-04 Google Inc. Dynamic bit allocation in parallel video encoding
US20130259137A1 (en) 2012-03-30 2013-10-03 Google Inc. System and Method for Multi-Core Hardware Video Encoding And Decoding
US20150043645A1 (en) 2012-06-20 2015-02-12 Google Inc. Video stream partitioning to allow efficient concurrent hardware decoding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140114436A (ko) * 2012-01-20 2014-09-26 퀄컴 인코포레이티드 멀티-쓰레딩된 텍스처 디코딩
KR20170069074A (ko) * 2015-12-10 2017-06-20 삼성전자주식회사 디코더의 동작 방법, 및 상기 디코더를 포함하는 어플리케이션 프로세서의 동작 방법

Also Published As

Publication number Publication date
US20120307892A1 (en) 2012-12-06
WO2010030752A2 (en) 2010-03-18
JP5400888B2 (ja) 2014-01-29
EP2324639A2 (en) 2011-05-25
EP2324639B1 (en) 2019-04-24
US20100061455A1 (en) 2010-03-11
EP2324639A4 (en) 2012-08-29
CN102150425B (zh) 2014-12-10
WO2010030752A3 (en) 2010-05-14
US20240080482A1 (en) 2024-03-07
CN102150425A (zh) 2011-08-10
US9357223B2 (en) 2016-05-31
USRE49727E1 (en) 2023-11-14
US8311111B2 (en) 2012-11-13
US20160277766A1 (en) 2016-09-22
CA2736888A1 (en) 2010-03-18
US10230986B2 (en) 2019-03-12
JP2012502592A (ja) 2012-01-26

Similar Documents

Publication Publication Date Title
USRE49727E1 (en) System and method for decoding using parallel processing
US11805253B2 (en) Processing a video frame having slices and tiles
US8416857B2 (en) Parallel or pipelined macroblock processing
US8218641B2 (en) Picture encoding using same-picture reference for pixel reconstruction
US8218640B2 (en) Picture decoding using same-picture reference for pixel reconstruction
TWI415446B (zh) 用於視頻壓縮的並行處理裝置
WO2013018909A1 (en) Method for decoding video
US20120201294A1 (en) Methods for parallel video encoding and decoding
US20120230399A1 (en) Video decoder parallelization including a bitstream signal
US20120230398A1 (en) Video decoder parallelization including slices
US20090304292A1 (en) Encoding and decoding methods, devices implementing said methods and bitstream
US20130272428A1 (en) Video decoder for copy slices
TWI786000B (zh) 色度分離樹的低延遲視訊編解碼方法和裝置

Legal Events

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