KR20160071569A - 비디오 장치에서의 영상 처리 방법 및 그에 따른 비디오 장치 - Google Patents

비디오 장치에서의 영상 처리 방법 및 그에 따른 비디오 장치 Download PDF

Info

Publication number
KR20160071569A
KR20160071569A KR1020140178636A KR20140178636A KR20160071569A KR 20160071569 A KR20160071569 A KR 20160071569A KR 1020140178636 A KR1020140178636 A KR 1020140178636A KR 20140178636 A KR20140178636 A KR 20140178636A KR 20160071569 A KR20160071569 A KR 20160071569A
Authority
KR
South Korea
Prior art keywords
video
reference picture
current image
picture list
image
Prior art date
Application number
KR1020140178636A
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 삼성전자주식회사
Priority to KR1020140178636A priority Critical patent/KR20160071569A/ko
Priority to US14/959,338 priority patent/US9812095B2/en
Publication of KR20160071569A publication Critical patent/KR20160071569A/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • 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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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
    • 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
    • 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/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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/10Special adaptations of display systems for operation with variable images
    • G09G2320/106Determination of movement vectors or equivalent parameters within the image
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/128Frame memory using a Synchronous Dynamic RAM [SDRAM]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/18Use of a frame buffer in a display terminal, inclusive of the display panel

Abstract

영상 처리의 속도를 개선하기 위한 비디오 장치에서의 영상 처리 방법 및 비디오 장치가 개시되어 있다. 그러한 비디오 장치에서의 영상 처리 방법은, 인가되는 복수의 픽쳐들을 버퍼에 저장하고, 상기 픽쳐들 중에서 현재 영상의 헤더 정보를 파싱하는 단계들을 포함한다. 또한, 영상 처리 방법은 상기 파싱된 헤더 정보에 근거하여 상기 현재 영상이 비디오 엔진에서 처리되는 동안에 상기 현재 영상의 참조 픽쳐 리스트를 관리하는 단계를 포함한다.

Description

비디오 장치에서의 영상 처리 방법 및 그에 따른 비디오 장치{VIDEO PROCESSING METHOD AND THEREFORE VIDEO SYSTEM}
본 발명은 비디오 신호 처리에 관한 것으로, 좀 더 자세하게는 영상 처리의 속도를 개선하기 위한 비디오 장치에서의 영상 처리에 관한 것이다.
최근에 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 응용 분야에서 증가하고 있다.
영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비해 상대적으로 데이터량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 저장하는 경우, 전송 비용과 저장 비용이 증가하게 된다.
영상 데이터가 고해상도, 고품질화 됨에 따라 발생하는 이러한 문제들을 해결하기 위해서는 고효율의 영상 압축기술들이 활용될 수 있다.
영상 압축 기술로 현재 픽쳐의 이전 또는 이후 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 화면 간 예측 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 화면 내 예측 기술, 출현 빈도가 높은 값에 짧은 부호를 할당하고 출현 빈도가 낮은 값에 긴 부호를 할당하는 엔트로피 엔코딩 기술 등 다양한 기술이 존재하고 이러한 영상 압축 기술을 이용해 영상 데이터를 효과적으로 압축하여 전송 또는 저장할 수 있다.
비디오 장치에서의 영상 처리는 비디오 엔진에서 수행되는 엔코딩 및 디코딩과, 소프트웨어의 일종인 펌웨어에 의해 수행되는 헤더 정보 및 참조 픽쳐 리스트 관리 동작을 포함한다.
본 발명이 해결하고자 하는 기술적 과제는, 엔코딩 또는 디코딩 시 영상 처리의 속도를 높일 수 있는 비디오 장치에서의 영상 처리 방법 및 그에 따른 비디오 장치를 제공함에 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 개념의 일 양상(an aspect)에 따라, 비디오 장치에서의 영상 처리 방법은,
인가되는 복수의 픽쳐들을 버퍼에 저장하고;
상기 픽쳐들 중에서 현재 영상의 헤더 정보를 파싱하고;
상기 파싱된 헤더 정보에 근거하여 상기 현재 영상이 비디오 엔진에서 처리되는 동안에 상기 현재 영상의 참조 픽쳐 리스트를 관리한다.
본 발명의 실시 예에서, 참조 픽쳐 리스트의 관리는 참조 픽쳐 리스트의 생성, 저장 및 업데이트 동작을 포함할 수 있다.
본 발명의 실시 예에서, 상기 현재 영상의 처리 중에 에러가 발생된 경우 상기 현재 영상의 참조 픽쳐 리스트는 이전 영상의 참조 픽쳐 리스트로 복구될 수 있다.
본 발명의 실시 예에서, 상기 헤더 정보의 파싱 및 상기 참조 픽쳐 리스트의 관리는 펌웨어에 의해 수행될 수 있다.
본 발명의 실시 예에서, 상기 펌웨어는 상기 현재 영상의 마지막 슬라이스가 상기 비디오 엔진에서 처리되기 시작할 때 상기 현재 영상의 참조 픽쳐 리스트를 업데이트할 수 있다.
본 발명의 실시 예에서, 상기 펌웨어는 상기 현재 영상의 첫번째 슬라이스가 상기 비디오 엔진에서 처리되기 시작할 때 상기 현재 영상의 참조 픽쳐 리스트를 생성한 후 상기 현재 영상의 참조 픽쳐 리오더링에 활용할 수 있다.
본 발명의 실시 예에서, 상기 비디오 엔진은 상기 현재 영상을 설정된 디코딩 방식에 따라 디코딩할 수 있다.
본 발명의 실시 예에서, 상기 비디오 엔진은 상기 현재 영상을 설정된 엔코딩 방식에 따라 엔코딩할 수 있다.
본 발명의 실시 예에서, 상기 엔코딩 방식은 HEVC, VP8, VP9, MPEG-2, MPEG-4, H.263, 및 H.264 중 어느 하나일 수 있다.
본 발명의 실시 예에서, 상기 현재 영상의 참조 픽쳐 리스트의 관리 완료 후에, 상기 현재 영상이 비디오 엔진에서 처리되는 동안에 상기 현재 영상의 다음 영상에 대한 헤더 정보를 파싱하는 것을 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 개념의 또 다른 양상에 따라,비디오 장치에서의 영상 처리 방법은,
인가되는 복수의 픽쳐들을 픽쳐 메모리에 저장하고;
상기 픽쳐들 중에서 현재 영상의 헤더 정보를 파싱하고;
상기 현재 영상이 디코딩되도록 하기 위해 비디오 엔진으로 디코딩 명령을 제공하고;
상기 파싱된 헤더 정보에 근거하여 상기 현재 영상이 상기 비디오 엔진에서 디코딩되는 동안에 상기 비디오 엔진으로부터 디코딩 결과를 기다릴 필요없이, 상기 현재 영상의 출력정보와 상기 현재 영상의 다음 영상에 대한 기본 정보를 상기 비디오 엔진의 디코딩 동작과는 병렬적으로 처리한다.
본 발명의 실시 예에서, 상기 현재 영상의 출력정보는 참조 픽쳐 리스트를 포함하고, 상기 다음 영상에 대한 기본 정보는 헤더 정보를 포함할 수 있다.
본 발명의 실시 예에서, 상기 비디오 엔진에서 디코딩 에러가 발생된 경우 상기 현재 영상의 참조 픽쳐 리스트는 이전 영상의 참조 픽쳐 리스트로 복원될 수 있다.
본 발명의 실시 예에서, 상기 현재 영상의 마지막 슬라이스가 상기 비디오 엔진에서 처리되기 시작할 때 상기 현재 영상의 참조 픽쳐 리스트가 업데이트될 수 있다.
본 발명의 실시 예에서, 상기 현재 영상의 첫번째 슬라이스가 상기 비디오 엔진에서 처리되기 시작할 때 상기 비디오 장치의 펌웨어는 상기 현재 영상의 참조 픽쳐 리스트를 생성하여 상기 현재 영상의 참조 픽쳐 리오더링에 활용할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 개념의 또 다른 양상에 따라,비디오 장치는,
인가되는 복수의 픽쳐들을 저장하는 버퍼;
상기 픽쳐들의 영상을 엔코딩하거나 디코딩하는 비디오 엔진; 및
상기 영상의 헤더 정보를 파싱하고 참조 픽쳐 리스트를 관리하는 펌웨어를 탑재하는 컨트롤러를 구비하고,
상기 컨트롤러는, 상기 픽쳐들 중에서 현재 영상의 헤더 정보를 파싱하고;
상기 파싱된 헤더 정보에 근거하여 상기 현재 영상이 비디오 엔진에서 처리되고 있는 동안에 상기 현재 영상의 참조 픽쳐 리스트를 관리한다.
본 발명의 실시 예에서, 상기 컨트롤러는 상기 현재 영상의 참조 픽쳐 리스트의 관리가 완료된 경우에 현재 영상의 다음 영상에 대한 헤더 정보를 파싱하는 동작을 더 수행할 수 있다.
본 발명의 실시 예에서, 상기 비디오 엔진은 상기 현재 영상을 설정된 엔코딩 방식에 따라 엔코딩할 수 있다.
본 발명의 실시 예에서, 상기 비디오 엔진에서 영상 처리 에러가 발생된 경우 상기 현재 영상의 참조 픽쳐 리스트는 이전 영상의 참조 픽쳐 리스트로 복원될 수 있다.
본 발명의 실시 예에서, 상기 현재 영상의 마지막 슬라이스가 상기 비디오 엔진에서 처리되기 시작할 때 상기 컨트롤러는 상기 현재 영상의 참조 픽쳐 리스트를 생성 및 저장할 수 있다.
본 발명의 실시 예들의 구성에 따르면, 하드웨어의 동작 수행과는 병렬로 펌웨어의 동작이 수행되므로 영상 처리의 속도가 개선된다. 결국, 비디오 장치의 동작 퍼포먼스가 향상된다.
도 1은 본 발명에 따른 비디오 시스템을 개략적으로 보여주는 블록도이다.
도 2는 도 1중 비디오 장치의 예시적 블록도이다.
도 3은 도 2에 관련된 픽쳐들의 구조를 예시적으로 보여주는 블록도이다.
도 4는 도 3에 관련된 비트 스트림의 예시적 구조를 보여주는 도면이다.
도 5는 도 3에 관련된 영상 프레임의 구조를 예시적으로 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 영상 처리 방법의 플로우챠트이다.
도 7은 도 3의 픽쳐들을 처리하는 순서를 나타내는 플로우챠트이다.
도 8은 도 7에 따른 영상 디코딩 방법의 플로우챠트이다.
도 9는 도 2에 따른 엔코더의 예시적 블록도이다.
도 10은 도 2에 따른 디코더의 예시적 블록도이다.
도 11은 본 발명의 영상처리에 적용되는 엔코딩 단위, 예측 단위, 및 변환 단위의 관계를 나타내는 예시적 도면이다.
도 12는 컴퓨터 시스템과 연결된 디스크드라이브에 적용된 본 발명의 응용 예를 도시하는 도면이다.
도 13은 컨텐트 공급 시스템에 적용된 본 발명의 응용 예를 보여주는 도면이다.
도 14는 엔코더 및 디코더를 이용하는 클라우드 컴퓨팅 시스템에 적용된 본 발명의 응용 예를 도시한 도면이다.
위와 같은 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시 예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시 예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시 예들은, 이해의 편의를 제공할 의도 이외에는 다른 의도 없이, 개시된 내용이 보다 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.
본 명세서에서, 어떤 소자 또는 라인들이 대상 소자 블록에 연결된다 라고 언급된 경우에 그것은 직접적인 연결뿐만 아니라 어떤 다른 소자를 통해 대상 소자 블록에 간접적으로 연결된 의미까지도 포함한다.
또한, 각 도면에서 제시된 동일 또는 유사한 참조 부호는 동일 또는 유사한 구성 요소를 가급적 나타내고 있다. 일부 도면들에 있어서, 소자 및 라인들의 연결관계는 기술적 내용의 효과적인 설명을 위해 나타나 있을 뿐, 타의 소자나 회로블록들이 더 구비될 수 있다.
여기에 설명되고 예시되는 각 실시 예는 그것의 상보적인 실시 예도 포함될 수 있으며, 엔코더나 디코더 등의 기본적 동작 및 그러한 기본적 동작을 수행하기 위한 내부 기능회로에 관한 세부는 본 발명의 요지를 모호하지 않도록 하기 위해 상세히 설명되지 않음을 유의(note)하라.
도 1은 본 발명에 따른 비디오 시스템을 개략적으로 보여주는 블록도이다.
도 1을 참조하면, 비디오 시스템은 비디오 장치(100)와 호스트(200)를 포함할 수 있다.
호스트(200)는 라인(L1)을 통해 비디오 장치(100)로 영상 입력정보를 제공한다. 호스트(200)는 라인(L2)을 통해 비디오 장치(100)로부터 영상 출력정보를 수신한다. 호스트(200)는 영상 출력정보를 수신 시에 영상을 디스플레이할 수 있다. 상기 라인들(L1,L2)은 데이터 통신 채널일 수 있다.
비디오 장치(100)는 비디오 엔진(140)을 포함한다. 상기 비디오 장치(100)의 컨트롤러는 펌웨어(120)를 구비한다. 비디오 장치(100)는 인가되는 복수의 픽쳐들을 저장하기 위한 버퍼를 포함한다.
비디오 엔진(140)은 영상 입력정보 예를 들어 픽쳐들의 영상을 엔코딩하거나 디코딩한다. 픽쳐는 영상 프레임 또는 한 프레임 내의 슬라이스를 의미할 수 있다. 예를 들어, 엔코딩되는 픽쳐들의 영상은 비디오 데이터의 형태로 인가될 수 있으며, 디코딩되는 픽쳐들의 영상은 엔코딩된 비디오 비트스트림의 형태로 인가될 수 있다.
상기 펌웨어(120)는 상기 비디오 장치(100)의 컨트롤러에 의해 수행되는 소프트웨어로서, 상기 영상의 헤더 정보를 파싱하고 참조 픽쳐 리스트를 관리한다.
상기 펌웨어(120)는 상기 픽쳐들 중에서 현재 영상의 헤더 정보를 파싱한다.
또한, 상기 펌웨어(120)는 상기 파싱된 헤더 정보에 근거하여 상기 현재 영상이 비디오 엔진(140)에서 처리되고 있는 동안에 상기 현재 영상의 참조 픽쳐 리스트를 관리한다.
결국, 하드웨어의 동작 수행 즉 비디오 엔진(140)의 엔코딩 또는 디코딩 동작 동안에 펌웨어(120)는 엔코딩 또는 디코딩의 완료를 대기함이 없이 상기 현재 영상의 참조 픽쳐 리스트를 미리 관리하거나 다음 영상의 헤더 정보를 파싱할 수 있다.
이와 같이, 하드웨어의 동작 수행과는 병렬로 펌웨어(120)의 동작이 수행되므로 영상 처리의 속도가 개선된다. 결국, 비디오 장치(100)의 동작 퍼포먼스가 향상된다.
도 2는 도 1중 비디오 장치의 예시적 블록도이다.
도 2를 참조하면, 비디오 장치(100)는 펌웨어가 탑재된 컨트롤러(122), 버퍼(142), 및 비디오 엔진부(148)를 포함한다.
상기 컨트롤러(122)는 도 1의 펌웨어(120)를 포함하는 한편 도 1의 비디오 엔진(140)의 일부를 포함할 수 있다. 엔코더(144)와 디코더(146)로 구성된 상기 비디오 엔진부(148)는 도 1의 비디오 엔진(140)의 구성에 일부로서 포함된다.
상기 컨트롤러(122)는 라인(L10)을 통해 SDRAM으로 구현될 수 있는 상기 버퍼(142)에 연결되고, 라인(L20)을 통해 상기 비디오 엔진부(148)에 연결될 수 있다. 상기 컨트롤러(122)는 버퍼(142)를 통해 도 1의 호스트(200)와 연결될 수 있다. 그러나 이러한 연결은 예시적인 것에 불과하고, 본 발명은 이에 한정되는 것은 아니다. 상기 컨트롤러(122)는 직접적으로 도 1의 호스트(200)와 연결되어 데이터 통신을 수행할 수 있다.
상기 엔코더(144)의 엔코딩 결과는 영상 출력정보에 포함되는 엔코딩 출력(ENOUT)이 되고, 상기 디코더(146)의 디코딩 결과는 영상 출력정보에 포함되는 디코딩 출력(DEOUT)이 된다.
도 3은 도 2에 관련된 픽쳐들의 구조를 예시적으로 보여주는 블록도이다.
도 3을 참조하면, 2개의 픽쳐들에 대한 세부가 예시적으로 보여진다. 영상 입력정보로서 제공되는 2개의 픽쳐들은 제1,2 픽쳐들(30,40), 제1,2 헤더 정보들(32,42), 및 제1,2 참조 픽쳐 리스트들(34,44)을 포함할 수 있다.
상기 제1 픽쳐(30)가 디코딩되는 픽쳐들의 영상으로 제공된 경우에 제1 헤더 정보(32)에는 제1 픽쳐(30)에 관련된 헤더 정보가 포함되어 있으며, 제1 참조 픽쳐 리스트(34)에는 제1 픽쳐(30)에 관련된 참조 픽쳐 정보가 포함되어 있다.
유사하게, 제2 픽쳐(40)가 디코딩되는 픽쳐들의 영상으로 제공된 경우에 제2 헤더 정보(42)에는 제2 픽쳐(40)에 관련된 헤더 정보가 포함되어 있으며, 제2 참조 픽쳐 리스트(44)에는 제2 픽쳐(40)에 관련된 참조 픽쳐 정보가 포함되어 있다.
여기서 디코딩되는 픽쳐들의 영상은 도 4와 같은 비트스트림의 형태로 제공될 수 있다.
도 4는 도 3에 관련된 비트 스트림의 예시적 구조를 보여주는 도면이다.
도 4에서 보여지는 비트 스트림은 H.264에서 규정된 구조이며, 본 발명은 도 4의 구조에 한정되는 것은 아니다.
H.264에서의 비트 스트림은 코딩된 픽쳐들의 표현 및 하나 이상의 비디오 시퀀스를 형성하기 위한 결합된 데이터를 형성하는 일련의 비트들을 의미한다. 비트 스트림은 NAL(Network Abstraction Layer)유닛 스트림 또는 바이트 스트림을 포함하는 개념이다.
비트 스트림은 일련의 바이트 스트림 NAL 유닛 신택스 구조들로 구성된다. 바이트 스트림 NAL 유닛 신택스 구조는 스타트 코드 프리픽스(410)와 NAL 유닛(420)으로 구성된다. 스타트 코드 프리픽스(410)는 3 바이트로서 0x000001 값을 갖는다. NAL 유닛(420)은 데이터의 타입을 지시하는 NAL 헤더(422)와 RBSP(Raw Byte Sequence Payload)(424)로 구성된다.
NAL 헤더(422)에는 NAL 유닛에 포함된 코딩된 픽쳐가 참조 픽쳐인지 여부를 알려주는 정보가 포함될 수 있다. NAL 헤더(422)에는 "nal_ref_idc"라는 필드가 있다. nal_ref_idc" 필드 값이 0인 경우에 비참조 픽쳐임을 의미하고, 0이 아닌 경우에는 참조 픽쳐임을 의미한다.
RBSP(422)는 슬라이스 헤더와 슬라이스 데이터를 포함한다. 슬라이스 헤더에는 슬라이스 타입(slice_type), 프레임 넘버(frame_num) 등의 정보가 포함되어 있다. H.264 표준에서 프레임 넘버는 참조 프레임을 위한 유일한 식별자로 사용된다. 예를 들어, 5개의 프레임이 있을 때 3번째 프레임이 비참조 프레임인 경우에 프레임 넘버는 1(참조 프레임), 2(참조 프레임), 3(비참조 프레임), 3(참조 프레임), 4(참조 프레임)가 될 수 있다. 즉, 참조 프레임들은 서로 다른 프레임 넘버를 갖는다. 슬라이스는 정수개의 매크로블록들을 포함할 수 있다. H.264 표준에 따른 비트 스트림을 수신하는 디코더는 NAL 헤더(422)내의 참조 여부를 알려주는 정보를 이용하여 픽쳐 스킵 기능을 수행할 수 있다.
도 5는 도 3에 관련된 영상 프레임의 구조를 예시적으로 보여주는 도면이다.
도 5를 참조하면, 하나의 영상 프레임은 복수의 슬라이들을 포함할 수 있다. 슬라이스들 각각은 도 3에서와 같이 하나의 픽쳐를 구성할 수 있으며, 이 경우에 픽쳐에 각기 대응되는 헤더 정보와 참조 픽쳐 리스트가 존재할 수 있다. 그러므로 하나의 픽쳐는 하나의 프레임 또는 하나의 슬라이스가 될 수 있다.
도 6은 본 발명의 실시 예에 따른 영상 처리 방법의 플로우챠트이다.
도 6을 참조하면, 펌웨어(120)를 탑재한 컨트롤러(122)는 S600 단계에서, 제1 픽쳐(30)에 대한 엔코딩 또는 디코딩을 수행한다. 예를 들어, 제1 픽쳐(30)는 1 프레임 또는 1개의 슬라이스일 수 있다. 도 6의 경우에는 제1 픽쳐(30)가 복수개의 슬라이스들을 갖는 1 프레임인 것으로 설명의 편의상 가정되었다. 결국, S600 단계에서 현재 프레임의 픽쳐에 대한 엔코딩 또는 디코딩이 수행된다.
S610 단계에서 엔코딩 또는 디코딩이 1 프레임 내의 마지막 슬라이스에 대하여 수행되는 지가 체크된다. 여기서, 제1 픽쳐(30)의 엔코딩 또는 디코딩은 도 1의 비디오 엔진(140)에 의해 하드웨어적으로 수행된다. 펌웨어(120)는 비디오 엔진(140)에서 마지막 슬라이스에 대한 엔코딩 또는 디코딩이 시작되는 지를 체크한다.
마지막 슬라이스에 대한 엔코딩 또는 디코딩이 시작되면, 펌웨어(120)에 의해 실행되는 S620 단계가 비디오 엔진(140)의 엔코딩 또는 디코딩 동작과 병렬적으로 실행된다. S620 단계는 현재 프레임의 참조 픽쳐 리스트(RPL)를 저장하고, 갱신하는 단계이다. 즉, 펌웨어(120)는 엔코딩 또는 디코딩의 결과를 기다림 없이, 참조 픽쳐 리스트를 저장하고 갱신하는 동작을 곧 바로 수행한다.
본 발명의 실시 예에서 마지막 슬라이스에 대한 엔코딩 또는 디코딩이 시작되는 지를 체크하는 동작이 예시되었으나 이에 한정되지 않는다. 예를 들어, 컨트롤러(122)가 참조 픽쳐 리스트의 복사 리스트를 만들고 그 복사 리스트를 제1 픽쳐(30)의 처리에 이용하는 경우에 참조 픽쳐 리스트의 갱신은 첫 슬라이스의 시작과 동시에 수행될 수 있다.
S620 단계의 동작 수행 후, S630 단계에서 엔코딩 또는 디코딩의 처리가 에러 없이 성공되었는 지의 여부가 체크된다. 만약, 디코딩 시에 에러가 발생된 경우에 S670 단계가 실행되어 상기 갱신된 참조 픽쳐 리스트는 이전의 참조 픽쳐 리스트로 복원된다.
한편, 상기 펌웨어(120)는 상기 슬라이스들 중에서 첫번째 슬라이스가 상기 비디오 엔진(140)에서 처리되기 시작할 때 상기 현재 영상의 참조 픽쳐 리스트를 생성할 수 도 있다. 이 경우에 생성된 참조 픽쳐 리스트는 상기 현재 영상의 참조 픽쳐 리오더링에 활용될 수도 있다.
S630 단계에서 엔코딩 또는 디코딩이 성공이면 S640 단계를 추가적으로 수행할 수 있다. 즉, 펌웨어(120)는 S640 단계에서 현재 프레임에 대한 엔코딩 또는 디코딩이 수행되고 있는 동안에 다음 프레임의 픽쳐에 대한 기본 처리를 실행할 수 있다. 여기서, 기본 처리는 다음 프레임의 픽쳐에 대한 헤더 정보 파싱이 포함될 수 있다.
S650 단계에서 현재 프레임에 대한 픽쳐의 엔코딩 또는 디코딩이 완료되었는 지의 여부가 체크된다. 완료인 경우에 S600 단계로 돌아가서 다음 프레임에 대한 처리가 수행될 수 있다.
결국, 디코딩의 경우에 헤더 정보 파싱 단계, 디코딩 단계, 및 참조 픽쳐 리스트 업데이트 단계가 순차적으로 수행되는 데, 상기 헤더 정보 파싱 단계와 참조 픽쳐 리스트 업데이트 단계는 펌웨어(120)에 의해 수행되고, 상기 디코딩 단계는 상기 펌웨어(120)로부터 디코딩 명령을 받은 비디오 엔진(140)에 수행된다. 여기서, 비디오 엔진(140)에 의해 수행되는 엔코딩 동작 또는 디코딩 동작은 상기 펌웨어(120)에 의해 수행되는 동작보다 오래 걸린다. 따라서, 펌웨어(120)는 비디오 엔진(140)에서의 엔코딩 동작 또는 디코딩 동작이 완료될 때 까지 대기함이 없이, 참조 픽쳐 리스트 업데이트를 상기 비디오 엔진(140)의 동작과 병렬적으로 수행한다. 이에 따라, 전체 영상의 처리에 걸리는 처리 타임이 단축된다.
도 7은 도 3의 픽쳐들을 처리하는 순서를 나타내는 플로우챠트이다.
도 7을 참조하면, 디코딩 동작 시에 수행되는 픽쳐들의 처리 순서가 예시적으로 보여진다.
먼저, 헤더 정보의 파싱(parsing)이 S710 단계에서 수행되고, 디코딩이 S720 단계에서 수행된다. S730 단계에서 참조 픽쳐 리스트 관리가 수행된다. 여기서 참조 픽쳐 리스트 관리는 저장동작, 업데이트 동작, 또는 복원 동작을 포함하는 의미이다.
도 7에서, S710 단계와 S730 단계는 펌웨어(120)에 의해 수행되고, S720 단계는 하드웨어인 비디오 엔진(140)에 의해 수행된다. 상기 펌웨어(120)는 상기 S720 단계의 실행완료를 대기함이 없이, 상기 S720 단계의 동작 실행과 병렬적으로 S730 단계의 동작을 수행함에 의해 영상 처리에 걸리는 시간이 단축될 수 있다.
도 8은 도 7에 따른 영상 디코딩 방법의 플로우챠트이다.
도 8을 참조하면, 도 7의 S710 단계를 수행하기 위해 펌웨어(120)를 탑재한 컨트롤러(122)는 S810 단계에서, 호스트(200)로부터 인가되는 복수의 픽쳐들을 버퍼(142)로 로드한다. 여기서 하나의 픽쳐는 한 프레임을 의미할 수 있다.
컨트롤러(122)는 S820 단계에서, 제1 픽쳐(30)에 대한 헤더 정보를 파싱하고, 파싱된 헤더 정보에 근거하여 하드웨어인 비디오 엔진(140)으로 디코딩 명령을 제공한다.
그리고, 비디오 엔진(140)에서의 디코딩 완료를 대기함이 없이, 상기 컨트롤러(122)는 S830 단계를 수행한다. S830 단계는 제1 픽쳐의 디코딩 동안에 제1 픽쳐의 참조 픽쳐 리스트를 저장 및 업데이트하는 동작이다. 그리고, 컨트롤러(122)는 S830 단계의 수행이 완료되었음에도, 상기 비디오 엔진(140)에서의 디코딩이 완료되지 않았으면, S840 단계를 추가적으로 수행할 수 있다. S840 단계는 제1 픽쳐의 디코딩 동안에 제2 픽쳐의 헤더 정보를 파싱하는 동작이다.
S850 단계에서 제1 픽쳐에 대한 디코딩이 완료되었는 지의 여부가 체크된다. 그리고, S860 단계에서 제1 픽쳐에 대한 디코딩이 에러없이 성공되었는 지의 여부가 체크된다. 디코딩 성공 또는 에러의 정보는 상기 비디오 엔진(140)으로부터 얻어질 수 있다.
만약, 디코딩 시에 에러가 발생된 경우에 S880 단계가 실행되어 상기 업데이트된 참조 픽쳐 리스트는 이전의 참조 픽쳐 리스트로 복원된다.
S860 단계에서 디코딩이 성공이면 S870 단계가 수행될 수 있다. 즉, 펌웨어(120)는 파싱된 제2 픽쳐의 헤더 정보에 근거하여 S870 단계에서 비디오 엔진(140)으로 디코딩 명령을 제공한다. 그리고, 비디오 엔진(140)에서의 디코딩 동작과 병렬로 제2 픽쳐의 참조 픽쳐 리스트를 저장하고 업데이트할 수 있다.
따라서, 펌웨어(120)는 비디오 엔진(140)에서의 디코딩 동작이 완료될 때 까지 아이들링 상태로 유지됨이 없이, 참조 픽쳐 리스트 업데이트나 다음 픽쳐에 대한 헤더 파싱을 비디오 엔진(140)의 동작과 병렬적으로 수행할 수 있다. 이에 따라, 전체 영상의 처리에 걸리는 처리 타임이 단축된다.
도 9는 도 2에 따른 엔코더의 예시적 블록도이다.
도 9를 참조하면, 엔코더(144)는 비디오 픽쳐들 내에서 비디오 블록들의 인트라 및 인터 코딩을 수행할 수도 있다.
인트라 코딩은 소정의 비디오 픽쳐 내에서 비디오에서의 공간적 용장성을 감소시키거나 제거하기 위해 공간적 예측에 의존한다. 인터 코딩은 비디오 시퀀스의 인접한 픽쳐들 내에서 비디오에서의 시간적 용장성을 감소시키거나 제거하기 위해 시간적 예측에 의존한다. 인트라 모드 (I 모드) 는 다양한 공간 기반의 압축 모드들 중 임의의 것을 지칭할 수도 있다. 단방향 예측 (P 모드) 및 양방향 예측 (B 모드)과 같은 인터 모드들은 다양한 시간 기반의 압축 모드들 중 임의의 것을 지칭할 수도 있다.
도 9에서 엔코더(144) 는 파티셔닝 유닛(35), 예측 모듈 (41), 디코딩 픽쳐 버퍼(DPB;64), 합산기(summer; 50), 변환 모듈(52), 양자화 유닛(54), 및 엔트로피 엔코딩 유닛(56)을 포함한다.
예측 모듈(41)은 모션 추정 유닛, 모션 보상 유닛, 및 인트라 예측 유닛을 포함할 수 있다.
비디오 블록의 재구성을 위해, 엔코더(144)는 역양자화 유닛(58), 역변환 모듈(60), 및 합산기(62)를 또한 포함한다. 재구성된 비디오에서 블록화 아티팩트들(blockiness artifacts)을 제거하기 위해 블록 경계들을 필터링하는 디블록화 필터 (deblocking filter)가 추가적으로 포함될 수도 있다. 디블록화 필터는 합산기(62)의 출력단에 연결될 수 있다.
도 9에 도시된 바와 같이, 엔코더(144) 는 엔코딩된 슬라이스 또는 비디오 픽쳐 내에서 현재 비디오 블록을 수신할 수 있다. 일 실시형태로서, 픽쳐 또는 슬라이스는 복수의 비디오 블록들 또는 CU들로 분할될 수도 있지만, PU들 및 TU들을 또한 포함할 수도 있다.
에러 결과들에 기초하여 현재 비디오 블록에 대해 코딩 모드들 중 하나, 인트라 또는 인터가 선택될 수 있다.
예측 모듈(41)은 인트라 코딩된 블록 또는 인터 코딩된 블록을 합산기(50)에 제공하여 잔차 블록 데이터를 생성한다. 또한, 예측 모듈(41)은 결과적인 인트라 코딩된 블록 또는 인터 코딩된 블록을 합산기(62)에 제공하여 참조 픽쳐로서 사용하기 위한 엔코딩된 블록을 재구성한다.
예측 모듈(41)내의 인트라 예측 유닛은 코딩될 현재 블록과 동일한 픽쳐 또는 슬라이스에서의 하나 이상의 이웃하는 블록들에 대한 현재 비디오 블록의 인트라 예측 코딩을 수행하여 공간적 압축을 제공할 수도 있다.
예측 모듈 41)내의 모션 추정 유닛 및 모션 보상 유닛은 하나 이상의 참조 픽쳐들에서의 하나 이상의 예측 블록들에 대한 현재 비디오 블록의 인터 예측 코딩을 수행하여 시간적 압축을 제공한다.
모션 추정 유닛 및 모션 보상 유닛은 하나의 칩으로 집적될 수도 있지만, 설명의 편의상 별개로 예시되어 있다.
모션 추정 유닛에 의해 수행된 모션 추정은 모션 벡터들을 생성하는 프로세스이며, 모션 벡터들은 비디오 블록들에 대한 모션을 추정한다. 모션 벡터는, 예를 들면, 참조 픽쳐 내에서의 예측 블록에 대한 현재 비디오 픽쳐 내에서의 비디오 블록의 변위를 나타낼 수도 있다.
예측 블록은 픽셀 차이의 관점에서 코딩될 비디오 블록과 밀접하게 일치하는 것으로 발견된 블록인데, 픽셀 차이는 절대 차의 합 (sum of absolute difference; SAD), 제곱 차의 합 (sum of square difference; SSD), 또는 다른 차이 메트릭들에 의해 결정될 수도 있다.
엔코더(144)는 DPB(64)에 저장된 참조 픽쳐들의 서브-정수 픽셀 위치들 (sub-integer pixel positions)에 대한 값들을 계산할 수도 있다. 예를 들면, 엔코더(144)는 참조 픽쳐의 1/4 픽셀 위치들, 1/8 픽셀 위치들, 또는 다른 분수적 (fractional) 픽셀 위치들의 값들을 계산할 수도 있다. 따라서, 모션 추정 유닛은 전픽셀 (full pixel) 위치들 및 분수적 픽셀 위치들에 대한 모션 검색을 수행하고 분수적 픽셀 정밀도를 갖는 모션 벡터를 출력한다.
모션 추정 유닛은 계산된 모션 벡터를 엔트로피 엔코딩 유닛(56)과 모션 보상 유닛으로 전송할 수 있다. 모션 보상 유닛에 의해 수행된 모션 보상은 모션 추정에 의해 결정된 모션 벡터에 기초하여 예측 블록을 페칭(fetching) 하거나 또는 생성하는 것을 수반할 수도 있다.
현재 비디오 블록에 대한 모션 벡터를 수신하면, 모션 보상 유닛은 모션 벡터가 가리키는 예측 블록을 찾아낼 수도 있다.
엔코더(144)는 코딩되고 있는 현재 비디오 블록의 픽셀 값들로부터 예측 블록의 픽셀 값을 감산함으로써 픽셀 차이 값들을 형성하는 잔차 비디오 블록을 형성한다. 픽셀 차이 값들은 블록에 대한 잔차 데이터를 형성하며, 루마 (luma) 및 색도 (chroma) 차이 성분들 양자를 포함할 수도 있다. 합산기(50)는 이 감산 동작을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다.
모션 보상 유닛이 현재 비디오 블록에 대한 예측 블록을 생성한 이후, 엔코더(144)는 현재 비디오 블록에서 예측 블록을 감산하는 것에 의해 잔차 비디오 블록을 형성한다. 변환 모듈(52)은 잔차 블록으로부터 하나 이상의 변환 단위들 (TU들)을 형성할 수도 있다. 변환 모듈(52)은, 이산 코사인 변환(DCT) 또는 개념적으로 유사한 변환과 같은 변환을 TU에 적용하여, 잔차 변환 계수들을 포함하는 비디오 블록을 생성한다. 변환에 의해 잔차 블록은 픽셀 도메인에서 주파수 도메인과 같은 변환 도메인으로 변환될 수 있다.
변환 모듈(52)은 생성된 변환 계수들을 양자화 유닛(54)으로 전송할 수도 있다. 양자화 유닛(54)은 변환 계수들을 양자화하여 비트 레이트를 더 감소시킬 수도 있다. 양자화 프로세스는 계수들의 일부 또는 전부와 관련된 비트 깊이를 감소시킬 수도 있다. 양자화의 정도는 양자화 파라미터를 조정함으로써 수정될 수도 있다. 양자화 유닛(54) 은 양자화된 변환 계수들을 포함하는 매트릭스의 스캔을 수행할 수도 있다.
양자화 이후, 엔트로피 엔코딩 유닛(56)은 양자화된 변환 계수들을 엔트로피 코딩한다. 예를 들면, 엔트로피 엔코딩 유닛(56)은 콘텍스트 적응 가변 길이 코딩(CAVLC), 콘텍스트 적응 이진 산술 코딩 (CABAC), 확률 인터벌 구획 엔트로피 (probability interval partitioning entropy; PIPE), 또는 다른 엔트로피 엔코딩 기술을 수행할 수도 있다. 엔트로피 엔코딩 유닛(56)에 의한 엔트로피 엔코딩에 후속하여, 엔코딩된 비트 스트림은 디코더(146)로 송신되거나, 또는 나중의 송신 또는 취출을 위해 보관(archive)될 수도 있다.
역양자화 유닛(58) 및 역변환 모듈(60)은, 각각, 역양자화 및 역변환을 적용하여, 픽셀 도메인의 잔차 블록을 나중의 사용을 위해 참조 픽쳐의 기준 블록으로서 재구성한다. 모션 보상 유닛은 참조 픽쳐들 중 하나의 예측 블록에 잔차 블록을 가산함으로써 기준 블록을 계산할 수도 있다. 모션 보상 유닛은, 모션 추정에서 사용하기 위한 서브-정수 픽셀 값들을 계산하기 위해, 재구성된 잔차 블록에 하나 이상의 보간 필터들을 또한 적용할 수도 있다. 합산기(62)는 재구성된 잔차 블록을 모션 보상 유닛에 의해 생성된 모션 보상된 예측 블록에 가산하여 DPB(64) 에 저장하기 위한 참조 픽쳐 리스트를 생성한다. 참조 픽쳐 리스트는 후속하는 비디오 픽쳐에서의 블록을 인터 예측하기 위한 기준 블록이 된다.
도 9에서 설명된 바와 같이 엔코더(144)의 엔코딩 동작이 수행될 때 펌웨어(120)에 의해 수행되는 헤더 정보나 참조 픽쳐 리스트의 생성과 같은 병렬 처리 동작에 따라 엔코딩 시의 영상 처리 속도가 빨라진다. 본 발명의 실시 예에 따른 엔코딩 방식은 HEVC, VP8, VP9, MPEG-2, MPEG-4, H.263, 및 H.264 중 어느 하나일 수 있다.
도 10은 도 2에 따른 디코더의 예시적 블록도이다.
도 10의 실시형태에서, 디코더(146)는 엔트로피 디코딩 유닛(80), 예측 모듈(81), 역양자화 유닛 (86), 역변환 유닛 (88), 합산기 (90), 및 디코딩 픽쳐 버퍼(DPB; 92)를 포함한다.
예측 모듈(81)은 모션 보상 유닛 및 인트라 예측 유닛을 포함할 수 있다. 디코더(146)는, 엔코더(144)에 대해 설명된 엔코딩 과정에 일반적으로 역순인 디코딩 과정을 수행할 수도 있다.
디코딩 프로세스 동안, 디코더(146)는 엔코더(144)로부터 엔코딩 정보를 나타내는 구문 엘리먼트들 및 엔코딩 비디오 블록을 포함하는 엔코딩된 비디오 비트스트림을 수신할 수 있다.
디코더(146)의 엔트로피 디코딩 유닛(80)은 비트스트림을 엔트로피 디코딩하여 양자화된 계수들, 모션벡터들, 및 다른 예측 구문들을 생성한다. 엔트로피 디코딩 유닛 (80)은 모션 벡터들 및 다른 예측 구문들을 예측 모듈(81)로 전송한다.
디코더(146)는 비디오 예측 유닛 레벨, 비디오 코딩 레벨, 비디오 슬라이스 레벨, 비디오 픽쳐 레벨, 및/또는 비디오 시퀀스 레벨에서 구문 엘리먼트들을 수신할 수도 있다.
비디오 슬라이스가 인트라 코딩된 슬라이스로서 코딩되면, 예측 모듈(81)의 인트라 예측 유닛은 현재 픽쳐의 이전에 디코딩된 블록들로부터의 데이터와 시그널링된 인트라 예측 모드에 기초하여 현재 비디오 픽쳐의 비디오 블록에 대한 예측 데이터를 생성할 수도 있다. 비디오 블록이 인터 예측되면, 예측 모듈(81)의 모션 보상 유닛은 엔트로피 디코딩 유닛(80)으로부터 수신된 예측 구문과 모션 벡터 또는 벡터들에 기초하여 현재 비디오 픽쳐의 비디오 블록에 대한 예측 블록들을 생성한다.
모션 보상 유닛은 모션 벡터들 및 예측 구문들을 파싱하는 것에 의해 현재 비디오 블록에 대한 예측 정보를 결정하고, 그 예측 정보를 사용하여, 디코딩되고 있는 현재 비디오 블록에 대한 예측 블록들을 생성한다.
역양자화 유닛(86)은 비트스트림에서 제공되고 엔트로피 디코딩 유닛(80) 에 의해 디코딩된 양자화된 변환계수들을 역양자화, 즉, 탈양자화한다 (dequantize). 역양자화 프로세스는 양자화의 정도, 및, 마찬가지로, 적용되어야 하는 역양자화의 정도를 결정하기 위해, CU 또는 각 비디오 블록에 대해 엔코더(144)에 의해 계산된 양자화 파라미터의 사용을 포함할 수도 있다.
역변환 모듈(88)은, 픽셀 도메인에서의 잔차 블록들을 생성하기 위해 변환 계수들에 대해 역변환, 예컨대, 역DCT, 역정수 변환, 또는 개념적으로 유사한 역변환 프로세스를 적용한다.
모션 보상 유닛이 모션 벡터들과 예측 구문 엘리먼트들에 기초하여 현재 비디오 블록에 대한 예측 블록을 생성한 이후, 디코더(146)는 역변환 모듈(88)로부터의 잔차 블록들을 모션 보상 유닛에 의해 생성된 대응하는 예측 블록들과 합하는 것에 의해 디코딩된 비디오 블록을 형성한다.
합산기(90)는 이 합산 동작을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 원하는 경우, 블록화 아티팩트들을 제거하기 위해 디코딩된 블록들을 필터링하는 디블록화 필터가 또한 적용될 수도 있다. 그 다음 디코딩된 비디오 블록들은 DPB(92)에 저장되는데, 이것은 후속 모션 보상에 대한 참조 픽쳐들의 기준 블록을 제공한다. DPB(92)는 디스플레이 디바이스 상에서의 표시를 위해 디코딩된 비디오를 또한 생성한다.
도 10에서 설명된 바와 같이 디코더(146)의 디코딩 동작이 수행될 때 펌웨어(120)에 의해 수행되는 참조 픽쳐 리스트 관리 및 다음 픽쳐의 헤더 파싱 등과 같은 병렬 처리 동작에 따라 디코딩 시의 영상 처리 속도가 빨라진다.
도 11은 본 발명의 영상처리에 적용되는 엔코딩 단위, 예측 단위, 및 변환 단위의 관계를 나타내는 예시적 도면이다.
도 11을 참조하면, 최대 엔코딩 단위(1300)는 심도의 엔코딩 단위들(1302, 1304, 1306, 1312, 1314, 1316, 1318)을 포함한다. 이 중 하나의 엔코딩 단위(1318)는 심도의 엔코딩 단위이므로 분할 정보가 0으로 설정될 수 있다. 크기 2Nx2N의 엔코딩 단위(1318)의 파티션 모드 정보는, 파티션 모드 2Nx2N(1322), 2NxN(1324), Nx2N(1326), NxN(1328),2NxnU(1332), 2NxnD(1334), nLx2N(1336) 및 nRx2N(1338) 중 하나로 설정될 수 있다.
변환 단위 분할 정보(TU size flag)는 변환 인덱스의 일종으로서, 변환 인덱스에 대응하는 변환 단위의 크기는 엔코딩 단위의 예측 단위 타입 또는 파티션 모드에 따라 변경될 수 있다. 예를 들어, 파티션 모드 정보가 대칭형 파티션 모드 2Nx2N(1322), 2NxN(1324), Nx2N(1326) 및 NxN(1328) 중 하나로 설정되어 있는 경우, 변환 단위 분할 정보가 0이면 크기 2Nx2N의 변환 단위(1342)가 설정되고, 변환 단위분할 정보가 1이면 크기 NxN의 변환 단위(1344)가 설정될 수 있다.
파티션 모드 정보가 비대칭형 파티션 모드 2NxnU(1332), 2NxnD(1334), nLx2N(1336) 및 nRx2N(1338) 중 하나로 설정된 경우, 변환 단위 분할 정보(TU size flag)가 0이면 크기 2Nx2N의 변환 단위(1352)가 설정되고, 변환 단위 분할 정보가 1이면 크기 N/2xN/2의 변환 단위(1354)가 설정될 수 있다.
변환 단위 분할 정보(TU size flag)는 0 또는 1의 값을 갖는 플래그이지만, 변환 단위 분할 정보가 1비트의 플래그로 한정되는 것은 아니며 설정에 따라 0, 1, 2, 3.. 등으로 증가하며 변환 단위가 계층적으로 분할될 수도 있다. 변환 단위 분할 정보는 변환 인덱스의 한 실시 예로써 이용될 수 있다. 이 경우, 변환 단위 분할 정보를 변환 단위의 최대 크기, 변환 단위의 최소 크기와 함께 이용하면, 실제로 이용된 변환 단위의 크기가 표현될 수 있다. 도 2의 엔코더(144)는, 최대 변환 단위 크기 정보, 최소 변환 단위 크기 정보 및 최대 변환 단위 분할 정보를 엔코딩할 수 있다.
디코더(146)는 최대 변환 단위 크기 정보, 최소 변환 단위 크기 정보 및 최대 변환 단위 분할 정보를 이용하여, 비디오 디코딩에 이용할 수 있다.
예를 들어, 현재 엔코딩 단위가 크기 64x64이고, 최대 변환 단위 크기는 32x32이라면, 변환 단위 분할 정보가 0일 때 변환 단위의 크기가 32x32, 변환 단위 분할 정보가 1일 때 변환 단위의 크기가 16x16, 변환 단위 분할 정보가 2일 때 변환 단위의 크기가 8x8로 설정될 수 있다.
다른 예로, 현재 엔코딩 단위가 크기 32x32이고, 최소 변환 단위 크기는 32x32이라면, 변환 단위 분할 정보가 0일 때 변환 단위의 크기가 32x32로 설정될 수 있으며, 변환 단위의 크기가 32x32보다 작을 수는 없으므로 더 이상의 변환 단위 분할 정보가 설정될 수 없다.
또 다른 예로, 현재 엔코딩 단위가 크기 64x64이고, 최대 변환 단위 분할 정보가 1이라면, 변환 단위 분할 정보는 0 또는 1일 수 있으며, 다른 변환 단위 분할 정보가 설정될 수 없다.
트리 구조의 엔코딩 단위들에 기초한 비디오 엔코딩 기법에 따라, 트리 구조의 엔코딩 단위들마다 공간영역의 영상 데이터가 엔코딩되며, 트리 구조의 엔코딩 단위들에 기초한 비디오 디코딩 기법에 따라 최대 엔코딩 단위마다 디코딩가 수행되면서 공간 영역의 영상 데이터가 복원되어, 픽처 및 픽처 시퀀스인 비디오가 복원될 수 있다. 복원된 비디오는 재생 장치에 의해 재생되거나, 저장 매체에 저장되거나, 네트워크를 통해 전송될 수 있다.
상술한 바와 같이 펌웨어는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등), 또는 SSD와 같은 저장매체를 포함할 수 있다.
도 12는 컴퓨터 시스템과 연결된 디스크드라이브에 적용된 본 발명의 응용 예를 도시하는 도면이다.
도 12는 디스크(26000)나 반도체 메모리를 이용하여 프로그램을 기록하고 판독하기 위한 디스크드라이브(26800)를 도시한다. 컴퓨터 시스템(26700)은 디스크드라이브(26800)나 반도체 메모리를 이용하여 본 발명의 비디오 엔코딩 방법 및 비디오 디코딩 방법 중 적어도 하나를 구현하기 위한 프로그램을 저장할 수 있다.
디스크(26000)나 반도체 메모리에 저장된 프로그램을 컴퓨터 시스템(26700)상에서 실행하기 위해, 디스크 드라이브(26800)에 의해 디스크(26000)나 반도체 메모리로부터 프로그램이 판독되고, 프로그램이 컴퓨터 시스템(26700)으로 전송될 수 있다.
도 12에서 예시된 디스크(26000) 뿐만 아니라, 메모리 카드, 롬 카세트, SSD(Solid State Drive)에도 본발명의 비디오 엔코딩 방법 및 비디오 디코딩 방법 중 적어도 하나를 구현하기 위한 프로그램이 저장될 수 있다.
도 12에 따른 비디오 엔코딩 방법 및 비디오 디코딩 방법이 적용된 시스템이 도 13에 도시된다.
도 13은 컨텐트 공급 시스템에 적용된 본 발명의 응용 예를 보여주는 도면이다.
도 13은 컨텐트 유통 서비스(content distribution service)를 제공하기 위한 컨텐트 공급 시스템(content supply system)(11000)의 전체적 구조를 예시적으로 도시한다.
통신시스템의 서비스 영역은 소정 크기의 셀들로 분할되고, 각 셀에 베이스 스테이션이 되는 무선 기지국(11700, 11800, 11900, 12000)이 설치될 수 있다.
컨텐트 공급 시스템(11000)은 다수의 독립 디바이스들을 포함한다. 예를 들어, 컴퓨터(12100), PDA(Personal Digital Assistant)(12200), 비디오 카메라(12300) 및 휴대폰(12500)과 같은 독립 디바이스들이, 인터넷 서비스 공급자(11200), 통신망(11400), 및 무선 기지국(11700, 11800, 11900, 12000)을 거쳐 인터넷(11100)에 연결될 수 있다.
그러나, 컨텐트 공급 시스템(11000)은 도시된 구조에만 한정되는 것이 아니며, 디바이스들이 선택적으로 연결될 수 있다. 독립 디바이스들은 무선 기지국(11700, 11800, 11900, 12000)을 거치지 않고 통신망(11400)에 직접 연결될 수도 있다.
비디오 카메라(12300)는 디지털 비디오 카메라와 같이 비디오 영상을 촬영할 수 있는 촬상 디바이스이다. 휴대폰(12500)은 PDC(Personal Digital Communications), CDMA(code division multiple access), W-CDMA(wideband code division multiple access), GSM(Global System for Mobile Communications), 및 PHS(Personal Handyphone System)방식과 같은 다양한 프로토콜들 중 적어도 하나의 통신방식을 채택할 수 있다.
비디오 카메라(12300)는 무선기지국(11900) 및 통신망(11400)을 거쳐 스트리밍 서버(11300)에 연결될 수 있다.
스트리밍 서버(11300)는 사용자가 비디오 카메라(12300)를 사용하여 전송한 컨텐트를 실시간 방송으로 스트리밍 전송할 수 있다. 비디오 카메라(12300)로부터 수신된 컨텐트는 비디오 카메라(12300) 또는 스트리밍 서버(11300)에 의해 엔코딩될 수 있다. 비디오 카메라(12300)로 촬영된 비디오 데이터는 컴퓨터(12100)을 거쳐 스트리밍 서버(11300)로 전송될 수도 있다.
카메라(12600)로 촬영된 비디오 데이터도 컴퓨터(12100)를 거쳐 스트리밍 서버(11300)로 전송될 수도 있다. 카메라(12600)는 디지털 카메라와 같이 정지영상과 비디오 영상을 모두 촬영할 수 있는 촬상 장치이다. 카메라(12600)로부터 수신된 비디오 데이터는 카메라(12600) 또는 컴퓨터(12100)에 의해 엔코딩될 수 있다. 비디오 엔코딩 및 디코딩를 위한 소프트웨어는 컴퓨터(12100)가 억세스할 수 있는 시디롬 디스크, 플로피디스크, 하드디스크 드라이브, SSD , 메모리 카드와 같은 컴퓨터로 판독 가능한 기록 매체에 저장될 수 있다.
또한 휴대폰(12500)에 탑재된 카메라에 의해 비디오가 촬영된 경우, 비디오 데이터가 휴대폰(12500)으로부터 수신될 수 있다.
비디오 데이터는, 비디오 카메라(12300), 휴대폰(12500) 또는 카메라(12600)에 탑재된 LSI(Large scale integrated circuit) 시스템에 의해 엔코딩될 수 있다.
컨텐트 공급 시스템(11000)에서, 예를 들어 콘서트의 현장녹화 컨텐트와 같이, 사용자가 비디오 카메라(12300), 카메라(12600), 휴대폰(12500) 또는 다른 촬상 디바이스를 이용하여 녹화된 컨텐트가 엔코딩되고, 스트리밍 서버(11300)로 전송된다. 스트리밍 서버(11300)는 컨텐트 데이터를 요청한 다른 클라이언트들에게 컨텐트 데이터를 스트리밍 전송할 수 있다.
클라이언트들은 엔코딩된 컨텐트 데이터를 디코딩할 수 있는 디바이스이며, 예를 들어 컴퓨터(12100), PDA(12200), 비디오 카메라(12300) 또는 휴대폰(12500)일 수 있다. 따라서, 컨텐트 공급 시스템(11000)은, 클라이언트들이 엔코딩된 컨텐트 데이터를 수신하여 재생할 수 있도록 한다. 또한 컨텐트 공급 시스템(11000)은, 클라이언트들이 엔코딩된 컨텐트 데이터를 수신하여 실시간으로 디코딩하고 재생할 수 있도록 하여, 개인방송(personal broadcasting)이 가능하게 한다.
컨텐트 공급 시스템(11000)에 포함된 독립 디바이스들의 엔코딩 동작 및 디코딩 동작에 본 발명의 엔코더 및 디코더가 적용될 수 있다. 따라서, 컨텐트 공급 시스템(11000)의 동작 퍼포먼스가 개선된다.
도 14는 엔코더 및 디코더를 이용하는 클라우드 컴퓨팅 시스템에 적용된 본 발명의 응용 예를 도시한 도면이다.
도 14를 참조하면, 엔코더 및 디코더를 이용하는 클라우드 컴퓨팅 시스템의 네트워크 구조가 예시적으로 도시된다.
본 발명의 클라우드 컴퓨팅 시스템은 클라우드 컴퓨팅 서버(14000), 사용자 DB(14100), 컴퓨팅 자원(14200) 및 사용자 단말기를 포함하여 이루어질 수 있다.
여기서, 사용자 단말기는 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 태블릿 컴퓨터(tablet computer), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), DMB (Digital Multimedia Broadcasting) 재생기, 3차원 수상기(3-dimensional television), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 데이터 센터를 구성하는 스토리지, 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 하나, RFID 장치, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등과 같은 전자 장치의 다양한 구성 요소들 중 하나로서 제공될 수도 있다.
클라우드 컴퓨팅 시스템은, 사용자 단말기의 요청에 따라 인터넷과 같은 정보 통신망을 통해 컴퓨팅 자원의 온 디맨드 아웃소싱 서비스를 제공한다. 클라우드 컴퓨팅 환경에서, 서비스 제공자는 서로 다른 물리적인 위치에 존재하는 데이터 센터의 컴퓨팅 자원를 가상화 기술로 통합하여 사용자들에게 필요로 하는 서비스를 제공한다.
서비스 사용자는 어플리케이션(Application), 스토리지(Storage), 운영체제(OS), 보안(Security) 등의 컴퓨팅 자원을 각 사용자 소유의 단말에 설치하여 사용하는 것이 아니라, 가상화 기술을 통해 생성된 가상 공간상의 서비스를 원하는 시점에 원하는 만큼 골라서 사용할 수 있다.
특정 서비스 사용자의 사용자 단말기는 인터넷 및 이동통신망을 포함하는 정보통신망을 통해 클라우드 컴퓨팅 서버(14000)에 접속한다. 사용자 단말기들은 클라우드 컴퓨팅 서버(14000)로부터 클라우드 컴퓨팅 서비스 특히, 동영상 재생 서비스를 제공받을 수 있다. 사용자 단말기는 데스트탑 PC(14300), 스마트TV(14400), 스마트폰(14500), 노트북(14600), PMP(Portable Multimedia Player)(14700), 태블릿 PC(14800) 등, 인터넷 접속이 가능한 모든 전자 기기가 될 수 있다.
클라우드 컴퓨팅 서버(14000)는 클라우드 망에 분산되어 있는 다수의 컴퓨팅 자원(14200)을 통합하여 사용자 단말기에게 제공할 수 있다. 다수의 컴퓨팅 자원(14200)은 여러가지 데이터 서비스를 포함하며, 사용자 단말기로 부터 업로드된 데이터를 포함할 수 있다. 클라우드 컴퓨팅 서버(14000)는 여러 곳에 분산되어 있는 동영상 데이터베이스를 가상화 기술로 통합하여 사용자 단말기가 요구하는 서비스를 제공한다.
사용자 DB(14100)에는 클라우드 컴퓨팅 서비스에 가입되어 있는 사용자 정보가 저장된다. 여기서, 사용자 정보는 로그인 정보와, 주소, 이름 등 개인 신용 정보를 포함할 수 있다. 또한, 사용자 정보는 동영상의 인덱스(Index)를 포함할 수 있다. 여기서, 인덱스는 재생을 완료한 동영상 목록과, 재생 중인 동영상 목록과, 재생 중인 동영상의 정지 시점 등을 포함할 수 있다.
사용자 DB(14100)에 저장된 동영상에 대한 정보는, 사용자 디바이스들 간에 공유될 수 있다. 따라서 예를 들어 노트북(14600)으로부터 재생 요청되어 노트북(14600)에게 소정 동영상 서비스를 제공한 경우, 사용자 DB(14100)에 소정 동영상 서비스의 재생 히스토리가 저장된다. 스마트폰(14500)으로부터 동일한 동영상 서비스의 재생요청이 수신되는 경우, 클라우드 컴퓨팅 서버(14000)는 사용자 DB(14100)을 참조하여 소정 동영상 서비스를 찾아서 재생한다.
스마트폰(14500)이 클라우드 컴퓨팅 서버(14000)를 통해 동영상 데이터스트림을 수신하는 경우, 동영상 데이터스트림을 디코딩하여 비디오를 재생하는 동작은, 휴대폰(12500)의 동작과 유사하다.
클라우드 컴퓨팅 서버(14000)는 사용자 DB(14100)에 저장된 소정 동영상 서비스의 재생 히스토리를 참조할 수도 있다. 예를 들어, 클라우드 컴퓨팅 서버(14000)는 사용자 단말기로부터 사용자 DB(14100)에 저장된 동영상에 대한 재생 요청을 수신한다. 동영상이 그 전에 재생 중이었던 것이면, 클라우드 컴퓨팅 서버(14000)는 사용자 단말기로의 선택에 따라 처음부터 재생하거나, 이전 정지 시점부터 재생하느냐에 따라 스트리밍 방법이 달라진다.
예를 들어, 사용자 단말기가 처음부터 재생하도록 요청한 경우에는 클라우드 컴퓨팅 서버(14000)가 사용자 단말기에게 해당 동영상을 첫 프레임부터 스트리밍 전송한다. 반면, 단말기가 이전 정지시점부터 이어서 재생하도록 요청한 경우에는, 클라우드 컴퓨팅 서버(14000)가 사용자 단말기에게 해당 동영상을 정지시점의 프레임부터 스트리밍 전송한다.
이 때 사용자 단말기는, 전술한 본 발명의 디코더를 포함할 수 있다. 다른 예로, 사용자 단말기는, 전술한 본 발명의 엔코더를 포함할 수 있다. 또한, 사용자 단말기는, 전술한 본 발명의 엔코더 및 디코더를 모두 포함할 수도 있다. 따라서, 클라우드 컴퓨팅 시스템의 동작 퍼포먼스가 개선된다.
전술된 비디오 엔코딩 방법 및 비디오 디코딩 방법, 엔코더 및 디코더가 활용되는 실시예들이 도 14에서 설명되었다. 하지만, 상술한 비디오 엔코딩 방법 및 비디오 디코딩 방법이 저장매체에 저장되거나 엔코더 및 디코더가 디바이스에서 구현되는 다양한 실시 예들은, 도면들을 참조로 설명된 실시예들에 한정되지 않는다.
이상에서와 같이 도면과 명세서를 통해 최적 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다.
예를 들어, 엔코딩 또는 디코딩의 동작 위주로 설명되었으나, 사안이 다른 경우에 본 발명의 기술적 사상을 벗어남이 없이, 방법적 구성을 변경하거나 가감하여, 소프트웨어적인 작업을 병렬로 수행할 수 있을 것이다.
100: 비디오 장치 120: 펌웨어
140: 비디오 엔진 142: 버퍼
144: 엔코더 146: 디코더

Claims (10)

  1. 인가되는 복수의 픽쳐들을 버퍼에 저장하고;
    상기 픽쳐들 중에서 현재 영상의 헤더 정보를 파싱하고;
    상기 파싱된 헤더 정보에 근거하여 상기 현재 영상이 비디오 엔진에서 처리되는 동안에 상기 현재 영상의 참조 픽쳐 리스트를 관리하는 비디오 장치에서의 영상 처리 방법.
  2. 제1항에 있어서, 상기 참조 픽쳐 리스트의 관리는 참조 픽쳐 리스트의 생성, 저장 및 업데이트 동작을 포함하는 비디오 장치에서의 영상 처리 방법.
  3. 제1항에 있어서, 상기 현재 영상의 처리 중에 에러가 발생된 경우 상기 현재 영상의 참조 픽쳐 리스트는 이전 영상의 참조 픽쳐 리스트로 복구되는 비디오 장치에서의 영상 처리 방법.
  4. 제1항에 있어서, 상기 헤더 정보의 파싱 및 상기 참조 픽쳐 리스트의 관리는 펌웨어에 의해 수행되는 비디오 장치에서의 영상 처리 방법.
  5. 제4항에 있어서, 상기 펌웨어는 상기 현재 영상의 마지막 슬라이스가 상기 비디오 엔진에서 처리되기 시작할 때 상기 현재 영상의 참조 픽쳐 리스트를 업데이트하는 비디오 장치에서의 영상 처리 방법.
  6. 제4항에 있어서, 상기 펌웨어는 상기 현재 영상의 첫번째 슬라이스가 상기 비디오 엔진에서 처리되기 시작할 때 상기 현재 영상의 참조 픽쳐 리스트를 생성한 후 상기 현재 영상의 참조 픽쳐 리오더링에 활용하는 비디오 장치에서의 영상 처리 방법.
  7. 제1항에 있어서,
    상기 비디오 엔진은 상기 현재 영상을 설정된 디코딩 방식에 따라 디코딩하는 비디오 장치에서의 영상 처리 방법.
  8. 제1항에 있어서, 상기 비디오 엔진은 상기 현재 영상을 설정된 엔코딩 방식에 따라 엔코딩하는 비디오 장치에서의 영상 처리 방법.
  9. 제8항에 있어서, 상기 엔코딩 방식은 HEVC, VP8, VP9, MPEG-2, MPEG-4, H.263, 및 H.264 중 어느 하나인 비디오 장치에서의 영상 처리 방법.
  10. 제1항에 있어서, 상기 현재 영상의 참조 픽쳐 리스트의 관리 완료 후에, 상기 현재 영상이 비디오 엔진에서 처리되는 동안에 상기 현재 영상의 다음 영상에 대한 헤더 정보를 파싱하는 것을 더 포함하는 비디오 장치에서의 영상 처리 방법.
KR1020140178636A 2014-12-11 2014-12-11 비디오 장치에서의 영상 처리 방법 및 그에 따른 비디오 장치 KR20160071569A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140178636A KR20160071569A (ko) 2014-12-11 2014-12-11 비디오 장치에서의 영상 처리 방법 및 그에 따른 비디오 장치
US14/959,338 US9812095B2 (en) 2014-12-11 2015-12-04 Video processing method including managing a reference picture list and video system therefore

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140178636A KR20160071569A (ko) 2014-12-11 2014-12-11 비디오 장치에서의 영상 처리 방법 및 그에 따른 비디오 장치

Publications (1)

Publication Number Publication Date
KR20160071569A true KR20160071569A (ko) 2016-06-22

Family

ID=56111630

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140178636A KR20160071569A (ko) 2014-12-11 2014-12-11 비디오 장치에서의 영상 처리 방법 및 그에 따른 비디오 장치

Country Status (2)

Country Link
US (1) US9812095B2 (ko)
KR (1) KR20160071569A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101877969B1 (ko) * 2018-01-25 2018-07-12 에이에스 주식회사 스마트 블랙박스 영상 전송관리 시스템

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017101065A1 (en) * 2015-12-17 2017-06-22 Intel Corporation Decoder for playing big frames
CN112291566A (zh) * 2020-06-19 2021-01-29 珠海市杰理科技股份有限公司 H.264视频编码方法、装置、芯片、存储设备及电子设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003065733A1 (en) 2002-02-01 2003-08-07 Matsushita Electric Industrial Co., Ltd. Moving image coding method and moving image decoding method
JP4517592B2 (ja) 2003-06-16 2010-08-04 ソニー株式会社 画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体
CA2674710C (en) * 2007-01-09 2016-02-23 Vidyo, Inc. Improved systems and methods for error resilience in video communication systems
JP4941128B2 (ja) 2007-06-29 2012-05-30 株式会社日立製作所 映像処理装置
US8542748B2 (en) 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
US8548041B2 (en) 2008-09-25 2013-10-01 Mediatek Inc. Adaptive filter
US8498334B1 (en) 2010-02-03 2013-07-30 Imagination Technologies Limited Method and system for staggered parallelized video decoding
KR20120035824A (ko) 2010-10-06 2012-04-16 한국전자통신연구원 계층 레벨 파이프 라인 기법을 이용한 부호화 장치 및 방법
US8331703B2 (en) 2011-02-18 2012-12-11 Arm Limited Parallel image encoding
JP5624693B2 (ja) * 2011-06-30 2014-11-12 テレフオンアクチーボラゲット エル エムエリクソン(パブル) 絶対的又は明示的な参照ピクチャ信号伝送
US9131245B2 (en) 2011-09-23 2015-09-08 Qualcomm Incorporated Reference picture list construction for video coding
US10003817B2 (en) 2011-11-07 2018-06-19 Microsoft Technology Licensing, Llc Signaling of state information for a decoded picture buffer and reference picture lists
WO2014008402A1 (en) * 2012-07-05 2014-01-09 Vid Scale, Inc. Layer dependency and priority signaling design for scalable video coding
CN104782129A (zh) * 2012-10-09 2015-07-15 光云大学校产学协力团 用于多层视频的层间预测方法及其设备
CN105453563B (zh) * 2013-07-30 2019-08-16 株式会社Kt 支持多个层的图像编码和解码方法以及使用该方法的装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101877969B1 (ko) * 2018-01-25 2018-07-12 에이에스 주식회사 스마트 블랙박스 영상 전송관리 시스템

Also Published As

Publication number Publication date
US20160171641A1 (en) 2016-06-16
US9812095B2 (en) 2017-11-07

Similar Documents

Publication Publication Date Title
KR101588219B1 (ko) 슬라이스 세그먼트의 엔트로피 부호화 방법 및 그 장치, 슬라이스 세그먼트의 엔트로피 복호화 방법 및 그 장치
KR101733796B1 (ko) 인터 예측 방법 및 그 장치, 움직임 보상 방법 및 그 장치
TWI532370B (zh) 解碼影像的方法
EP3843405A1 (en) Image coding method using history-based motion information, and device therefor
KR20130088085A (ko) 공간 서브영역별로 비디오를 부호화하는 방법 및 그 장치, 공간 서브영역별로 비디오를 복호화하는 방법 및 그 장치
KR20150043221A (ko) 인트라 블록 복사 예측을 이용한 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
US9961323B2 (en) Method and apparatus for multiview video encoding based on prediction structures for viewpoint switching, and method and apparatus for multiview video decoding based on prediction structures for viewpoint switching
US20150264384A1 (en) Method and apparatus for coding video stream according to inter-layer prediction of multi-view video, and method and apparatus for decoding video stream according to inter-layer prediction of multi view video
KR20130116209A (ko) 참조픽처리스트 변경이 가능한 인터 예측 방법과 그 장치
KR20130119380A (ko) 슬라이스 헤더를 이용하는 3차원 비디오 부호화 방법 및 그 장치, 다시점 비디오 복호화 방법 및 그 장치
US10334263B2 (en) Interlayer video encoding method and apparatus and interlayer video decoding method and apparatus for compensating luminance difference
US9674534B2 (en) Method and apparatus for encoding multi-view video prediction capable of view switching, and method and apparatus for decoding multi-view video prediction capable of view switching
US9812095B2 (en) Video processing method including managing a reference picture list and video system therefore
US20160037177A1 (en) Interlayer video encoding method and apparatus and interlayer video decoding method and apparatus for compensating luminance difference
US10051278B2 (en) Method and apparatus for inter-layer encoding and method and apparatus for inter-layer decoding video using residual prediction
US20160073127A1 (en) Method for predicting disparity vector for interlayer video decoding and encoding apparatus and method
US20210185323A1 (en) Inter prediction method and apparatus, video encoder, and video decoder
CN111355958A (zh) 视频解码方法及装置

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination