KR102246402B1 - 디코더, 상기 디코더를 포함하는 애플리케이션 프로세서, 및 상기 디코더의 동작 방법 - Google Patents

디코더, 상기 디코더를 포함하는 애플리케이션 프로세서, 및 상기 디코더의 동작 방법 Download PDF

Info

Publication number
KR102246402B1
KR102246402B1 KR1020140140918A KR20140140918A KR102246402B1 KR 102246402 B1 KR102246402 B1 KR 102246402B1 KR 1020140140918 A KR1020140140918 A KR 1020140140918A KR 20140140918 A KR20140140918 A KR 20140140918A KR 102246402 B1 KR102246402 B1 KR 102246402B1
Authority
KR
South Korea
Prior art keywords
frame
stream
cadence
video stream
information
Prior art date
Application number
KR1020140140918A
Other languages
English (en)
Other versions
KR20160045420A (ko
Inventor
박현수
권녕규
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020140140918A priority Critical patent/KR102246402B1/ko
Priority to US14/829,765 priority patent/US20160112710A1/en
Publication of KR20160045420A publication Critical patent/KR20160045420A/ko
Application granted granted Critical
Publication of KR102246402B1 publication Critical patent/KR102246402B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/16Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/172Methods 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 picture, frame or field
    • 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/142Detection of scene cut or scene change

Landscapes

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

Abstract

본 발명의 실시예에 따른 디코더는 비디오 스트림(video stream)이 풀다운(pull-down)된 스트림인지 판단하고, 판단 결과에 따라 적어도 하나의 중복된 프레임(frame)을 제거하는 캐이던스 검출기(cadence detector), 및 상기 캐이던스 검출기의 전단(front-end) 또는 후단(back-end)에서 상기 비디오 스트림 또는 상기 캐이던스 검출기의 출력 스트림을 디코딩(decoding)하는 디코딩 모듈(decoding module)을 포함한다.

Description

디코더, 상기 디코더를 포함하는 애플리케이션 프로세서, 및 상기 디코더의 동작 방법{A DECODER, AN APPLICATION PROCESSOR INCLDING THE DECODER, AND A METHOD OF OPERATING THE DECODER}
본 발명의 개념에 따른 실시예는 디코더, 상기 디코더를 포함하는 애플리케이션 프로세서, 및 상기 디코더의 동작 방법에 관한 것으로, 보다 상세하게는 연산량과 오류 발생을 최소화할 수 있는 디코더, 상기 디코더를 포함하는 애플리케이션 프로세서, 및 상기 디코더의 동작 방법에 관한 것이다.
일반적으로 비디오 신호(video signal)는 로우 데이터(raw data) 그대로 수신 측에 전송되지 않고, 표준화된 압축 포맷(compression format)으로 압축되어 인코딩(incoding)된 데이터가 전송된다. 수신 측이 상기 인코딩된 데이터를 재생하려면, 스트림 형태(stream form)로 입력되는 상기 인코딩된 데이터를 디코딩(decoding)하게 된다.
또한, 각국마다 정해진 방송 표준(broadcasting standard)를 준수하기 위해, 상기 인코딩된 데이터는 상기 방송 표준에서 요구하는 프레임 레이트(frame rate)로 변환될 수 있다. 예컨대, 한국, 미국, 일본 등의 아날로그 또는 디지털 방송 표준인 NTSC(National Television System Committee) 또는 ATSC(Advanced Television Standards Committee)는 1초당 60프레임에 해당하는 60fps를 요구하며, 상기 인코딩된 데이터는 60fps를 만족하도록 변환되어야 한다.
수신 측이 상기 변환된 인코딩된 데이터를 디코딩할 때, 변환시 추가되는 프레임들은 불필요한 연산 및/또는 오류 발생을 야기할 수 있다.
본 발명이 이루고자 하는 기술적 과제는 중복된 프레임들을 사전에 제거함으로써 불필요한 연산 및 오류 발생을 줄일 수 있는 디코더, 상기 디코더를 포함하는 애플리케이션 프로세서, 및 상기 디코더의 동작 방법을 제공함에 있다.
본 발명의 실시예에 따른 디코더는 비디오 스트림(video stream)이 풀다운(pull-down)된 스트림인지 판단하고, 판단 결과에 따라 적어도 하나의 중복된 프레임(frame)을 제거하는 캐이던스 검출기(cadence detector), 및 상기 캐이던스 검출기의 전단(front-end) 또는 후단(back-end)에서 상기 비디오 스트림 또는 상기 캐이던스 검출기의 출력 스트림을 디코딩(decoding)하는 디코딩 모듈(decoding module)을 포함한다.
실시예에 따라, 상기 캐이던스 검출기는, 상기 비디오 스트림의 연속적인 프레임들을 비교한 비교 결과를 생성하는 프레임 비교기(frame comparator), 상기 비교 결과를 기초로 상기 연속적인 프레임들이 풀다운된 스트림인지 판단한 상기 판단 결과를 생성하는 프레임 속성 판단부(frame attribute determiner) 및 상기 판단 결과를 기초로 상기 연속적인 프레임들로부터 상기 적어도 하나의 중복된 프레임을 선택적으로 제거하는 복제 프레임 제거기(duplicate frame remover)를 포함한다.
실시예에 따라, 상기 복제 프레임 제거기는, 상기 연속적인 프레임들에 상기 적어도 하나의 중복된 프레임이 존재하지 않을 경우, 상기 연속적인 프레임들을 바이패스(bypass)한다.
실시예에 따라, 상기 프레임 속성 판단부는, 상기 판단 결과를 기초로 풀다운된 비율에 대한 정보인 캐이던스 포맷 정보(cadence format information)를 생성한다.
실시예에 따라, 상기 프레임 속성 판단부는, 상기 비교 결과를 기초로 상기 연속적인 프레임들의 변화 양상에 대한 정보인 장면 변화 검출 정보(scene change detection information)를 생성한다.
실시예에 따라, 상기 디코딩 모듈이 상기 캐이던스 검출기의 상기 전단에서 상기 비디오 스트림을 디코딩할 경우, 상기 캐이던스 검출기는, 디코딩된 상기 비디오 스트림으로부터 상기 적어도 하나의 중복된 프레임을 선택적으로 제거한 원본 스트림, 풀다운된 비율에 대한 정보인 캐이던스 포맷 정보, 및 상기 비디오 스트림의 연속적인 프레임들의 변화 양상에 대한 정보인 장면 변화 검출 정보를 포스트 프로세서(post processor)로 출력한다.
실시예에 따라, 상기 디코딩 모듈이 상기 캐이던스 검출기의 상기 후단에서 상기 비디오 스트림을 디코딩할 경우, 상기 캐이던스 검출기는, 상기 비디오 스트림으로부터 상기 적어도 하나의 중복된 프레임을 선택적으로 제거한 상기 출력 스트림, 풀다운된 비율에 대한 정보인 캐이던스 포맷 정보, 및 상기 비디오 스트림의 연속적인 프레임들의 변화 양상에 대한 정보인 장면 변화 검출 정보를 상기 디코딩 모듈로 전송하고, 상기 디코딩 모듈은, 상기 출력 스트림을 상기 캐이던스 포맷 정보, 및 상기 장면 변화 검출 정보를 기초로 디코딩한다.
본 발명의 실시예에 따른 애플리케이션 프로세서는 비디오 스트림(video stream)을 디코딩(decoding)하고, 상기 비디오 스트림의 적어도 하나의 중복된 프레임을 선택적으로 제거하여 원본 스트림을 생성하는 디코더(decoder), 및 상기 원본 스트림을 후처리(post-processing)하는 포스트 프로세서(post-processor)를 포함한다.
실시예에 따라, 상기 디코더는, 상기 비디오 스트림이 풀다운(pull-down)된 스트림인지 판단하고, 판단 결과에 따라 상기 적어도 하나의 중복된 프레임을 선택적으로 제거하는 캐이던스 검출기(cadence detector), 및 상기 캐이던스 검출기의 전단(front-end) 또는 후단(back-end)에서 상기 비디오 스트림 또는 상기 캐이던스 검출기의 출력 스트림을 디코딩하는 디코딩 모듈(decoding module)을 포함한다.
실시예에 따라, 상기 캐이던스 검출기는, 상기 비디오 스트림의 연속적인 프레임들을 비교한 비교 결과를 생성하는 프레임 비교기(frame comparator), 상기 비교 결과를 기초로 상기 연속적인 프레임들이 풀다운된 스트림인지 판단한 상기 판단 결과를 생성하는 프레임 속성 판단부(frame attribute determiner), 및 상기 판단 결과를 기초로 상기 연속적인 프레임들로부터 상기 적어도 하나의 중복된 프레임을 선택적으로 제거하는 복제 프레임 제거기(duplicate frame remover)를 포함한다.
실시예에 따라, 상기 복제 프레임 제거기는, 상기 연속적인 프레임들에 상기 적어도 하나의 중복된 프레임이 존재하지 않을 경우, 상기 연속적인 프레임들을 바이패스(bypass)한다.
실시예에 따라, 상기 프레임 속성 판단부는, 상기 판단 결과를 기초로 풀다운된 비율에 대한 정보인 캐이던스 포맷 정보(cadence format information)를 생성한다.
실시예에 따라, 상기 프레임 속성 판단부는, 상기 비교 결과를 기초로 상기 연속적인 프레임들의 변화 양상에 대한 정보인 장면 변화 검출 정보(scene change detection information)를 생성한다.
실시예에 따라, 상기 디코딩 모듈이 상기 캐이던스 검출기의 상기 전단에서 상기 비디오 스트림을 디코딩할 경우, 상기 캐이던스 검출기는, 디코딩된 상기 비디오 스트림으로부터 상기 적어도 하나의 중복된 프레임을 선택적으로 제거한 상기 원본 스트림, 풀다운된 비율에 대한 정보인 캐이던스 포맷 정보, 및 상기 비디오 스트림의 연속적인 프레임들의 변화 양상에 대한 정보인 장면 변화 검출 정보를 상기 포스트 프로세서로 출력한다.
실시예에 따라, 상기 디코딩 모듈이 상기 캐이던스 검출기의 상기 후단에서 상기 비디오 스트림을 디코딩할 경우, 상기 캐이던스 검출기는, 상기 비디오 스트림으로부터 상기 적어도 하나의 중복된 프레임을 선택적으로 제거한 상기 출력 스트림, 풀다운된 비율에 대한 정보인 캐이던스 포맷 정보, 및 상기 비디오 스트림의 연속적인 프레임들의 변화 양상에 대한 정보인 장면 변화 검출 정보를 상기 디코딩 모듈로 전송하고, 상기 디코딩 모듈은, 상기 출력 스트림을 상기 캐이던스 포맷 정보, 및 상기 장면 변화 검출 정보를 기초로 디코딩하여 생성되는 상기 원본 스트림을 상기 포스트 프로세서로 출력한다.
실시예에 따라, 상기 포스트 프로세서는, 상기 원본 스트림을 미리 정해진 프레임 레이트(frame rate)를 가지는 스트림으로 변환하는 프레임 레이트 변환 유닛(frame rate conversion unit), 및 상기 원본 스트림에 대해 손떨림 보정을 수행하는 디지털 이미지 안정화(Digital Image Stabilization;DIS) 유닛을 포함한다.
본 발명의 실시예에 따른 디코더의 동작 방법은 캐이던스 검출기가 비디오 스트림(video stream)이 풀다운(pull-down)된 스트림인지 판단하고, 판단 결과에 따라 적어도 하나의 중복된 프레임(frame)을 제거하는 (a) 단계, 및 상기 캐이던스 검출기의 전단(front-end) 또는 후단(back-end)에서 상기 비디오 스트림 또는 상기 캐이던스 검출기의 출력 스트림을 디코딩(decoding)하는 (b) 단계를 포함한다.
실시예에 따라, 상기 (a) 단계는, 상기 비디오 스트림의 연속적인 프레임들을 비교한 비교 결과를 생성하는 단계, 상기 비교 결과를 기초로 상기 연속적인 프레임들이 풀다운된 스트림인지 판단한 상기 판단 결과를 생성하는 단계, 및 상기 판단 결과를 기초로 상기 연속적인 프레임들로부터 상기 적어도 하나의 중복된 프레임을 선택적으로 제거하는 단계를 포함한다.
실시예에 따라, 상기 (a) 단계는, 상기 판단 결과를 기초로 풀다운된 비율에 대한 정보인 캐이던스 포맷 정보(cadence format information)를 생성하는 단계를 더 포함한다.
실시예에 따라, 상기 (a) 단계는, 상기 비교 결과를 기초로 상기 연속적인 프레임들의 변화 양상에 대한 정보인 장면 변화 검출 정보(scene change detection information)를 생성하는 단계를 더 포함한다.
본 발명의 실시예에 따른 디코더, 상기 디코더를 포함하는 애플리케이션 프로세서, 및 상기 디코더의 동작 방법에 의하면, 풀다운(pull-down)된 비디오 스트림의 중복된 프레임을 제거함으로써 디코더 및 포스트 프로세서 각각의 소모 전력, 연산량 및 오류 발생을 최소화할 수 있다.
도 1은 본 발명의 실시 예에 따른 비디오 디코딩 시스템의 블록도를 나타낸다.
도 2는 도 1에 도시된 디코딩 시스템의 일 실시예를 나타낸 블록도이다.
도 3은 도 1에 도시된 디코딩 시스템의 다른 실시예를 나타낸 블록도이다.
도 4는 도 2 또는 도 3에 도시된 디코딩 시스템의 동작을 설명하기 위한 도면이다.
도 5는 도 1에 도시된 디코더의 동작 방법을 나타낸 흐름도이다.
도 6은 도 5에 도시된 캐이던스 검출기의 동작을 보다 상세히 나타낸 흐름도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 비디오 디코딩 시스템의 블록도를 나타낸다.
도 1을 참조하면, 비디오 디코딩 시스템(video decoding system, 10)은 셋 톱 박스(set top box), DVD 플레이어, MP3 플레이어, 스마트폰(smartphone) 등의 일부로 구현될 수 있다. 비디오 디코딩 시스템(10)은 디지털 형태의 압축 신호인 비디오 스트림(video stream;VS)을 원래의 영상 신호(original video signal)로 복원 및/또는 가공해 주는 장치이다. 비디오 디코딩 시스템(10)은 애플리케이션 프로세서(application processor)로 구현될 수 있다.
비디오 스트림(VS)은 비트(bit) 단위로 순차적으로 전송되는 데이터로서, 표준화된 압축 포맷(compression format), 예컨대, MPEG-4, WMV, DivX, H.264 등으로 인코딩(encoding)된 데이터이다. 비디오 스트림(VS)은 비디오 디코딩 시스템(10)의 외부(예컨대, 스마트폰의 메모리, 디지털망으로 연결된 영상 서버)로부터 수신될 수 있다. 비디오 스트림(VS)은 일정한 비트 단위의 복수의 프레임(frame)들, 에러 정정 코드(error correction code), 및 기타 부가 정보들을 포함할 수 있다. 상기 프레임은 하나의 정지 화상(still image)을 의미한다.
비디오 스트림(VS)은 방송 표준(broadcasting standard)에서 요구하는 프레임 레이트(frame rate)로 변환된 데이터일 수 있다. 예컨대, 카메라(camera)가 생성한 로우 데이터(row data)가 30 fps로 촬영된 경우를 가정한다. 상기 fps는 1초당 프레임 갯수(frame per second)를 의미하며, 프레임 레이트의 단위이다.
상기 로우 데이터가 60 fps를 요구하는 방송 표준에 따라 수신 측에 제공하기 위해서는, 효율적인 전송을 위해 상기 로우 데이터를 특정 압축 포맷으로 인코딩하는 과정 이외에 30fps의 상기 로우 데이터를 60fps로 변환하는 과정이 필요하다.
또한, 상기 로우 데이터는 특정한 압축 포맷으로 인코딩되는 과정에서 원래의 프레임 레이트와 다른 프레임 레이트를 갖게 될 수 있다.
즉, 방송 표준 또는 압축 포맷에 부합하기 위해 상기 로우 데이터는 원래의 프레임 레이트보다 더 높은 프레임 레이트를 가진 데이터로 변환될 수 있다. 이러한 변환 과정은 주로 풀다운(pull-down) 방식에 따라 수행될 수 있다.
상기 풀다운 방식은 특정한 캐이던스 포맷(cadence format)에 따라 연속하는 프레임들을 변환하는 방식을 말한다. 상기 캐이던스 포맷은 상기 로우 데이터의 프레임 레이트와 요구되는 프레임 레이트 사이의 비율에 의해 정해질 수 있고, 2:2, 3:2, 2:3:3:2, 2:2:2:4 등일 수 있다.
예컨대, 로우 데이터가 24 fps를 갖고 요구되는 프레임 레이트가 60 fps일 경우, 3:2의 캐이던스 포맷에 따라 연속하는 프레임들을 변환할 수 있다. 즉, A프레임과 B프레임이 연속하는 프레임들일 경우, A프레임과 B프레임은 각각 3개의 프레임과 2개의 프레임으로 늘어날 수 있다.
각각의 프레임을 늘이는 방식은 단순히 각 프레임을 동일하게 반복(repeated frame)하는 방식, 각 프레임을 복수의 선군(line group)으로 나누어 각 선군에 해당하는 프레임으로 분리(interlaced frame)하는 방식 등일 수 있다.
비디오 디코딩 시스템(10)은 디코더(decoder, 100), 및 포스트 프로세서(post processor, 200)를 포함할 수 있다. 실시예에 따라, 디코더(100)와 포스트 프로세서(200)는 하나의 칩(one chip)으로 구현되거나, 별도의 칩으로 구현될 수 있다.
디코더(100)는 비디오 스트림(VS)을 디코딩(decoding)하고, 비디오 스트림(VS)의 적어도 하나의 중복된 프레임을 선택적으로 제거하여 원본 스트림(original stream)을 생성할 수 있다.
포스트 프로세서(200)는 상기 원본 스트림을 후처리(post-processing)하여 디코딩 및 처리된 스트림(DPS; decoded & processed stream)을 생성할 수 있다. 디코딩 및 처리된 스트림(DPS)은 메모리에 저장되거나, 영상을 재생할 수 있는 디스플레이 장치(display device)로 전송될 수 있다.
디코더(100), 및 포스트 프로세서(200)의 상세한 구성과 동작은 도 2 내지 도 4를 참조하여 후술하기로 한다.
도 2는 도 1에 도시된 디코딩 시스템의 일 실시예를 나타낸 블록도이다. 도 3은 도 1에 도시된 디코딩 시스템의 다른 실시예를 나타낸 블록도이다. 도 4는 도 2 또는 도 3에 도시된 디코딩 시스템의 동작을 설명하기 위한 도면이다.
도 1 내지 도 4를 참조하면, 디코딩 시스템(10-1)은 디코더(100-1), 및 포스트 프로세서(200)를 포함할 수 있다.
디코더(100-1)는 디코딩 모듈(decoding module, 110-1), 및 캐이던스 검출기(cadence detector, 120-1)를 포함할 수 있다.
디코딩 모듈(110-1)은 캐이던스 검출기의 전단(front-end)에 위치하며, 비디오 스트림(VS)을 디코딩(decoding)할 수 있다.
비디오 스트림(VS)을 디코딩하는 동작은 비디오 스트림(VS)이 특정 압축 포맷에 따라 인코딩된 데이터일 경우, 비디오 스트림(VS)을 인코딩되기 이전의 데이터로 변환하는 동작을 의미한다.
캐이던스 검출기(120-1)는 프레임 비교기(frame comparator, 130-1), 프레임 속성 판단부(frame attribute determiner, 140-1), 및 복제 프레임 제거기(duplicate frame remover, 150-1)를 포함할 수 있다.
프레임 비교기(130-1)는 디코딩 모듈(110-1)에 의해 디코딩된 비디오 스트림(VS')의 연속적인 프레임들을 비교한 비교 결과(FCR)를 생성할 수 있다.
도 4에서 나타난 바와 같이 로우 데이터(RD)가 프레임(A)과 프레임(B)을 포함한다고 가정한다. 연속하는 프레임들인 프레임(A)과 프레임(B)이 3:2의 캐이던스 포맷에 따라 각 프레임을 동일하게 반복(repeated frame)되는 방식으로 변환될 경우, 프레임(A)는 프레임(A)과 복제 프레임들(A', A'')의 3개의 프레임으로 늘어나고 프레임(B)는 프레임(B)과 복제 프레임(B')의 2개의 프레임으로 늘어날 수 있다. 따라서, 비디오 스트림(VS) 또는 디코딩된 비디오 스트림(VS')은 로우 데이터(RD)에 비해 2.5 배만큼 증가된 프레임 레이트를 갖게 된다.
프레임 비교기(130-1)는 디코딩된 비디오 스트림(VS')의 연속적인 프레임들 예컨대, A와 A', A'와 A'', A''와 B, B와 B' 를 각각 비교한 비교 결과(FCR)를 생성할 수 있다. 비교 결과(FCR)는 연속적인 프레임들이 일치하는 정도를 수치적으로 나타낸 데이터(예컨대, 0~100)일 수 있다.
실시예에 따라, 프레임 비교기(130-1)의 전단에는 디코딩된 비디오 스트림(VS')을 일시적으로 저장하고, 프레임 단위로 출력하는 프레임 버퍼(frame buffer, 미도시)가 구현될 수 있다.
프레임 속성 판단부(140-1)는 비교 결과(FCR)를 기초로 상기 연속적인 프레임들이 풀다운된 스트림(pull-downed stream)인지 판단할 수 있고, 그에 따라 판단 결과(DR)를 생성할 수 있다.
예컨대, 프레임 속성 판단부(140-1)는 A와 A', A'와 A'', A''와 B, 및 B와 B'를 각각 비교한 비교 결과(FCR)와 미리 정해진 임계치(threshold value)를 각각 비교할 수 있다. 상기 임계치는 연속적인 프레임들이 풀다운된 스트림 즉, 거의 동일하다고 볼 수 있는 경계치일 수 있다.
비교 결과(FCR)가 0~100 사이의 수치이고, 상기 임계치가 90일 경우, A와 A', A'와 A'', A''와 B, 및 B와 B'를 각각 비교한 비교 결과(FCR)는 각각 100, 100, 40, 100일 수 있고, 프레임 속성 판단부(140-1)는 A''와 B를 비교한 경우이외에는 모두 연속적인 프레임들(A와 A', A'와 A'', 및 B와 B')이 풀다운된 스트림이라고 판단할 수 있다.
이에 따라, 판단 결과(DR)는 연속적인 프레임들(A~B') 중 2번째, 3번째, 및 5번째 프레임이 중복된 프레임이라는 정보를 포함할 수 있다.
프레임 속성 판단부(140-1)는 판단 결과(DR)를 기초로 풀다운된 비율에 대한 정보인 캐이던스 포맷 정보(cadence format information;CFI)를 생성할 수 있다. 예컨대, 동일한 드라마에 대한 디코딩된 비디오 스트림(VS')일지라도, 야외 촬영과 실내 촬영 각각의 로우 데이터는 서로 다른 프레임 레이트(24fps, 30fps)를 가질 수 있다. 이 경우, 60fps를 요구하는 동일한 방송 표준을 위해 각각의 로우 데이터는 3:2, 및 2:2의 비율로 풀다운될 수 있다.
예컨대, 연속적인 프레임들(A~B') 중 2번째, 3번째, 및 5번째 프레임이 중복된 프레임임을 나타내는 판단 결과(DR)가 반복되다가, 2번째, 및 4번째 프레임이 중복된 프레임임을 나타내는 판단 결과(DR)가 반복될 경우, 프레임 속성 판단부(140-1)는 디코딩된 비디오 스트림(VS')에 적용된 캐이던스 포맷이 3:2에서 2:2로 변경되었다고 판단할 수 있고 풀다운된 비율이 변경(3:2에서 2:2로 변경)되었다는 정보를 포함하는 캐이던스 포맷 정보(CFI)를 생성할 수 있다.
또한, 프레임 속성 판단부(140-1)는 비교 결과(FCR)를 기초로 상기 연속적인 프레임들의 변화 양상에 대한 정보인 장면 변화 검출 정보(scene change detection information;SCDI)를 생성할 수 있다.
예컨대, 연속적인 프레임들(A~B')이 이동하는 자동차에 대한 이미지임에 반해, 연속적인 프레임들(A~B') 직후 연속되는 프레임(미도시)이 사람 얼굴을 클로즈업(close-up)한 이미지일 수 있다. 이 경우, B'와 연속되는 프레임(미도시)을 비교한 비교 결과(FCR)는 10에 해당할 수 있다. 프레임 속성 판단부(140-1)는 비교 결과(FCR)를 미리 정해진 임계치(예컨대, 20)와 비교할 수 있고, 비교 결과(FCR)가 상기 임계치보다 낮을 경우 연속되는 프레임(미도시)이 장면 변화(예를 들어, 플래시 효과(flash effect), 페이드 인/아웃(fade in/out), 장면 오버랩(scene overlap), 갑작스런 장면 전환(sudden secne change) 등)에 해당한다고 판단할 수 있다. 반대로, A''와 B를 비교한 비교 결과(FCR)는 40에 해당하므로 프레임 속성 판단부(140-1)는 연속되는 프레임(B)이 상기 장면 변화에 해당하지 않는다고 판단할 수 있다.
이에 따라, 장면 변화 검출 정보(SCDI)는 B' 직후 연속적인 프레임(미도시)이 상기 장면 변화에 해당한다는 정보를 포함할 수 있다.
복제 프레임 제거기(150-1)는 판단 결과(DR)를 기초로 연속적인 프레임들로부터 적어도 하나의 중복된 프레임을 선택적으로 제거한 원본 스트림(OS)을 생성할 수 있다.
예컨대, 판단 결과(DR)가 연속적인 프레임들(A~B') 중 2번째, 3번째, 및 5번째 프레임이 중복된 프레임이라는 정보를 포함할 경우, 복제 프레임 제거기(150-1)는 판단 결과(DR)에 따라 연속적인 프레임들(A~B') 중 2번째, 3번째, 및 5번째 프레임을 제거(첫번째, 및 4번째 프레임은 스킵(skip))할 수 있다. 즉, 도 4에서 캐이던스 검출(cadence detection)에 의해 연속적인 프레임들(A~B') 중 2번째, 3번째, 및 5번째 프레임이 제거된 원본 스트림(OS)이 생성될 수 있다.
예컨대, 판단 결과(DR)가 연속적인 프레임들(A~B')에 중복된 프레임이 존재하지 않는다는 정보를 포함할 경우, 복제 프레임 제거기(150-1)는 연속적인 프레임들(A~B')을 바이패스(bypass)할 수 있다. 이는 최근 고성능의 카메라는 높은 프레임 레이트(60fps, 120fps)를 가지는 로우 데이터를 생성하므로, 로우 데이터를 풀다운하지 않는 경우가 존재하기 때문이다.
캐이던스 검출기(120-1)는 원본 스트림(OS), 캐이던스 포맷 정보(CFI), 및 장면 변화 검출 정보(SCDI)를 포스트 프로세서(200)로 전송할 수 있다.
포스트 프로세서(200)는 원본 스트림(OS)에 대해 후처리를 수행할 수 있다. 포스트 프로세서(200)는 프레임 레이트 변환 유닛(frame rate conversion unit;FRC unit, 210), 및 디지털 이미지 안정화 유닛(digital image stabilization unit;DIS unit, 220)을 포함할 수 있다. 여기서, 프레임 레이트 변환 유닛(FRC)과 디지털 이미지 안정화 유닛(220)은 영상을 디스플레이하기 이전의 후처리에 대한 예시에 불과하며, 포스트 프로세서(200)는 다른 기능(예컨대, interlaced-to-progressive(I2P))을 수행하는 구성들을 더 포함할 수 있다.
원본 스트림(OS)은 디코더(100-1)에 의해 중복되는 프레임이 제거된 스트림에 해당하므로, 포스트 프로세서(200)가 수행해야할 연산량(또는 소모 전력)이 줄어들게 되고 디코더(100-1)와 포스트 프로세서(200)간의 전송의 대역폭(bandwidth)이 증가될 수 있다.
프레임 레이트 변환 유닛(210)은 원본 스트림(OS)을 미리 정해진 프레임 레이트를 가지는 스트림으로 변환할 수 있다. 원본 스트림(OS)을 미리 정해진 프레임 레이트를 가지는 스트림으로 변환하는 동작은 보다 부드러운 영상을 구현하기 위한 것으로, 연속되는 프레임들을 모션 벡터(motion vector) 등을 이용해 보간된 프레임(interpolated frame)을 생성하고 보간된 프레임을 연속되는 프레임들 사이에 삽입하는 동작일 수 있다. 상기 미리 정해진 프레임 레이트는 사용자에 의해 설정되거나, 디코딩 시스템(10)이 탑재된 장치에서 디폴트(default)로 정해진 프레임 레이트일 수 있다.
예컨대, 원본 스트림(OS)의 프레임 레이트가 60fps, 미리 정해진 프레임 레이트가 120fps인 경우, 프레임 레이트 변환 유닛(210)은 원본 스트림(OS)의 연속되는 프레임들마다 하나의 보간된 프레임을 삽입하여 원본 스트림(OS)이 120fps의 프레임 레이트를 가지도록 변환할 수 있다.
이때, 원본 스트림(OS)이 2:2의 캐이던스 포맷으로 풀다운된 스트림(즉, 캐이던스 검출기(120-1)에 의해 중복된 프레임이 제거되지 않은 스트림)일 경우, 동일한 프레임들이 일정하게 반복되어 보간된 프레임 역시 동일하므로 보다 부드러운 영상을 구현하기 위한 프레임 레이트 변환 유닛(210)의 목적을 달성할 수 없게 된다.
반대로, 원본 스트림(OS)이 캐이던스 검출기(120-1)에 의해 중복된 프레임이 제거되어 1:1의 캐이던스 포맷의 풀다운되지 않은 스트림일 경우, 연속되는 프레임들이 동일하지 않은 프레임들이므로 보간된 프레임이 삽입됨으로써 프레임 레이트 변환 유닛(210)의 동작에 의해 보다 부드러운 영상이 구현될 수 있다.
따라서, 디코더(100-1)의 동작에 의해 원본 스트림(OS)의 중복된 프레임이 제거됨으로써, 프레임 레이트 변환 유닛(210)이 원본 스트림(OS)을 보다 부드러운 영상을 구현하기 위한 스트림으로 변환할 수 있다.
또한, 프레임 레이트 변환 유닛(210)은 풀다운된 비율에 대한 정보를 포함하는 캐이던스 포맷 정보(CFI)를 이용해 원본 스트림(OS)의 프레임 레이트 변화를 미리 알 수 있고, 이에 따라 원본 스트림(OS)의 프레임 레이트 변환에 대한 불필요한 연산과 오류 발생을 줄일 수 있다.
예컨대, 캐이던스 포맷 정보(CFI)가 특정 프레임 이후 풀다운된 비율이 3:2에서 2:2로 변경된 정보를 포함할 경우, 프레임 레이트 변환 유닛(210)은 상기 특정 프레임 이후 원본 스트림(OS)의 프레임 레이트가 24fps에서 30fps로 변화됨을 미리 알 수 있다. 이에 따라 프레임 레이트 변환 유닛(210)은 원본 스트림(OS)의 프레임 레이트를 120fps로 변환하기 위해, 연속하는 프레임들 사이에 4 개의 보간된 프레임을 삽입하다가 상기 특정 프레임 이후에는 3 개의 보간된 프레임을 삽입할 수 있다.
프레임 레이트 변환 유닛(210)은 연속적인 프레임들의 변화 양상에 대한 정보인 장면 변화 검출 정보(SCDI)를 이용해 원본 스트림(OS)의 장면 변화를 미리 알 수 있고, 이에 따라 원본 스트림(OS)의 프레임 레이트 변환시 간단한 연산(예컨대, 반복(repeat) 또는 일시적인 혼합(temporal blending))만을 수행함으로써 불필요한 연산과 오류 발생을 줄일 수 있다.
예컨대, 장면 변화 검출 정보(SCDI)가 특정 프레임 이후 갑작스런 장면 변화가 발생한다는 정보를 포함할 경우, 프레임 레이트 변환 유닛(210)은 상기 특정 프레임 이후 연속되는 프레임에 대해 간단한 연산만을 수행할 수 있다.
디지털 이미지 안정화 유닛(220)은 원본 스트림(OS)이 카메라 흔들림(camera shake)에 의한 영상을 포함할 경우, 카메라 흔들림이 없는 영상으로 보정할 수 있다. 즉, 디지털 이미지 안정화 유닛(220)은 연속하는 프레임들의 모션 정보(motion information) 예컨대, 한 프레임 내에서 몇 개의 소영역을 정하고, 정해진 소영역에 대해서 움직임을 추정한 정보를 이용해 카메라 흔들림을 판단하고, 상기 카메라 흔들림에 기초하여 각 프레임을 보정할 수 있다.
예컨대, 원본 스트림(OS)이 2:2의 캐이던스 포맷으로 풀다운된 스트림(즉, 캐이던스 검출기(120-1)에 의해 중복된 프레임이 제거되지 않은 스트림)일 경우, 로우 데이터에 존재하지 않던 동일한 프레임들이 일정하게 반복될 수 있다. 따라서, 왜곡된 모션 정보가 생성되어 디지털 이미지 안정화 유닛(220)의 동작에도 불구하고 카메라 흔들림이 남아 있거나 더 심화될 수 있다.
반대로, 원본 스트림(OS)이 캐이던스 검출기(120-1)에 의해 중복된 프레임이 제거되어 1:1의 캐이던스 포맷의 풀다운되지 않은 스트림일 경우, 원본 스트림(OS)은 로우 데이터와 마찬가지로 동일한 프레임이 반복되지 않아 디지털 이미지 안정화 유닛(220)이 정확한 모션 정보를 생성하여 카메라 흔들림을 효과적으로 제거할 수 있다.
따라서, 디코더(100-1)의 동작에 의해 원본 스트림(OS)의 중복된 프레임이 제거됨으로써, 디지털 이미지 안정화 유닛(220)이 원본 스트림(OS)에 포함된 카메라 흔들림에 의한 영상을 정확히 보정할 수 있다.
또한, 디지털 이미지 안정화 유닛(220)은 풀다운된 비율에 대한 정보를 포함하는 캐이던스 포맷 정보(CFI)를 이용해 원본 스트림(OS)의 프레임 레이트 변화를 미리 알 수 있고, 이에 따라 원본 스트림(OS)의 보정에 대한 불필요한 연산과 오류 발생을 줄일 수 있다.
예컨대, 캐이던스 포맷 정보(CFI)가 특정 프레임 이후 풀다운된 비율이 3:2에서 2:2로 변경된 정보를 포함할 경우, 디지털 이미지 안정화 유닛(220)은 상기 특정 프레임 이후 원본 스트림(OS)의 프레임 레이트가 24fps에서 30fps로 변화됨을 미리 알 수 있다. 이에 따라 디지털 이미지 안정화 유닛(220)은 모션 정보의 추출에 이용되는 파라미터(parameter)를 조절할 수 있다.
디지털 이미지 안정화 유닛(220)은 연속적인 프레임들의 변화 양상에 대한 정보인 장면 변화 검출 정보(SCDI)를 이용해 원본 스트림(OS)의 장면 변화를 미리 알 수 있고, 이에 따라 원본 스트림(OS)에 대한 보정을 수행하지 않음으로써 불필요한 연산과 오류 발생을 줄일 수 있다.
예컨대, 장면 변화 검출 정보(SCDI)가 특정 프레임 이후 갑작스런 장면 변화가 발생한다는 정보를 포함할 경우, 디지털 이미지 안정화 유닛(220)은 상기 특정 프레임에 대해 보정을 수행하지 않을 수 있다.
포스트 프로세서(200)에 포함된 프레임 레이트 변환 유닛(210), 및 디지털 이미지 안정화 유닛(220) 각각의 동작은 사용자의 선택에 의해 수행되지 않을 수 있고, 병렬적 또는 순차적으로 수행될 수 있다.
도 3에는 본 발명의 다른 실시예에 따른 디코딩 시스템(10-2)이 도시되어 있다. 디코딩 시스템(10-2)은 디코더(100-2), 및 포스트 프로세서(200)를 포함할 수 있다.
디코딩 시스템(10-2)은 몇가지 차이점을 제외하고는 디코딩 시스템(10-1)과 실질적으로 동일한바, 차이점 위주로 설명하기로 한다.
디코딩 시스템(10-2)은 디코딩 모듈(110-2)과 캐이던스 검출기(120-2)를 포함하나, 디코딩 모듈(110-2)은 캐이던스 검출기(120-2)의 후단(back-end)에서 캐이던스 검출기(120-2)의 출력 스트림(VS'')을 디코딩할 수 있다.
캐이던스 검출기(120-2)는 디코딩된 스트림(VS')이 아닌 디코딩되기 이전의 비디오 스트림(VS)을 입력으로 하여 동작할 수 있다.
프레임 비교기(130-2)는 디코딩이 완료된 상태의 프레임이 아닌 인코딩된 상태의 프레임을 비교할 수 있다. 즉, 동일한 압축 포맷으로 인코딩된 동일한 프레임들일 경우, 인코딩된 상태에서도 프레임 간의 동일성 여부는 판단될 수 있다.
프레임 속성 판단부(140-2)는 비교 결과(FCR)를 기초로 연속적인 프레임들이 풀다운된 스트림인지 판단할 수 있고, 그에 따라 판단 결과(DR), 캐이던스 포맷 정보(CFI), 및 장면 변화 검출 정보(SCDI)를 생성할 수 있다.
복제 프레임 제거기(150-2)는 판단 결과(DR)를 기초로 연속적인 프레임들로부터 적어도 하나의 중복된 프레임을 선택적으로 제거한 스트림 즉, 캐이던스 검출기(120-2)의 출력 스트림(VS'')을 생성할 수 있다. 즉, 캐이던스 검출기(120-2)의 출력 스트림(VS'')은 적어도 하나의 중복된 프레임이 선택적으로 제거된 비디오 스트림(VS)에 해당한다.
캐이던스 포맷 정보(CFI), 및 장면 변화 검출 정보(SCDI)는 포스트 프로세서(200) 뿐만 아니라, 디코딩 모듈(110-2)로도 전송될 수 있다.
디코딩 모듈(110-2)은 캐이던스 포맷 정보(CFI), 및 장면 변화 검출 정보(SCDI)를 이용해 캐이던스 검출기(120-2)의 출력 스트림(VS'')을 디코딩할 수 있다. 캐이던스 검출기(120-2)의 출력 스트림(VS'')은 적어도 하나의 중복된 프레임이 선택적으로 제거된 비디오 스트림(VS)이므로, 디코딩 모듈(110-2)이 수행하여야 하는 연산량은 줄어들 수 있다.
또한, 디코딩 모듈(110-2)은 캐이던스 포맷 정보(CFI), 또는 장면 변화 검출 정보(SCDI)를 이용해 프레임 레이트 변화, 또는 장면 변화를 미리 알 수 있고, 이를 이용해 캐이던스 검출기(120-2)의 출력 스트림(VS'')에 대한 디코딩을 보다 효율적으로 수행할 수 있다.
도 1 내지 도 3에 도시된 각 구성(예컨대, 110-1, 130-1, 140-1, 150-1, 210, 220)은 소프트웨어(software), 하드웨어(hardware), 또는 소프트웨어와 하드웨어의 결합 형태로 구현될 수 있다. 특히, 디코딩 시스템(10, 10-1, 10-2)은 도 1 내지 도 3에 도시된 구성들의 기능을 실행하기 위한 CPU(미도시), 및/또는 메모리(미도시)를 구비할 수 있다.
도 5는 도 1에 도시된 디코더의 동작 방법을 나타낸 흐름도이다. 도 6은 도 5에 도시된 캐이던스 검출기의 동작을 보다 상세히 나타낸 흐름도이다.
도 1 내지 도 6을 참조하면, 캐이던스 검출기(120-1, 120-2)는 디코딩된 비디오 스트림(VS') 또는 비디오 스트림(VS)이 풀다운된 스트림인지 판단하고, 판단 결과(DR)에 따라 적어도 하나의 중복된 프레임을 제거할 수 있다(S10).
디코딩 모듈(110-1, 110-2)은 캐이던스 검출기(120-1, 120-2)의 전단(도 2의 경우) 또는 후단(도 3의 경우)에서 비디오 스트림(VS) 또는 캐이던스 검출기(120-2)의 출력 스트림(VS'')을 디코딩할 수 있다(S20).
S10 단계는 S11 단계 내지 S15 단계를 포함할 수 있다.
프레임 비교기(130-1, 130-1)는 디코딩 모듈(110-1)에 의해 디코딩된 비디오 스트림(VS') 또는 비디오 스트림(VS)의 연속적인 프레임들을 비교한 비교 결과(FCR)를 생성할 수 있다(S11).
프레임 속성 판단부(140-1, 140-2)는 비교 결과(FCR)를 기초로 상기 연속적인 프레임들이 풀다운된 스트림인지 판단할 수 있고, 그에 따라 판단 결과(DR)를 생성할 수 있다(S12).
복제 프레임 제거기(150-1, 150-2)는 판단 결과(DR)를 기초로 상기 연속적인 프레임들로부터 적어도 하나의 중복된 프레임을 선택적으로 제거한 원본 스트림(OS) 또는 출력 스트림(VS'')을 생성할 수 있다(S13).
프레임 속성 판단부(140-1, 140-2)는 판단 결과(DR)를 기초로 풀다운된 비율에 대한 정보인 캐이던스 포맷 정보(CFI)를 생성할 수 있다(S14).
프레임 속성 판단부(140-1, 140-2)는 비교 결과(FCR)를 기초로 상기 연속적인 프레임들의 변화 양상에 대한 정보인 장면 변화 검출 정보(SCDI)를 생성할 수 있다(S15).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
디코딩 시스템(10)
디코더(100)
포스트 프로세서(200)

Claims (10)

  1. 비디오 스트림(video stream)이 풀다운(pull-down)된 스트림인지 판단하고, 판단 결과에 따라 적어도 하나의 중복된 프레임(frame)을 제거하고, 상기 비디오 스트림의 연속적인 프레임들 비교하여 상기 연속적인 프레임들의 일치하는 정도를 나타내는 비교 결과를 생성하고, 상기 비교 결과와 미리 정해진 임계치를 비교하여 상기 연속적인 프레임들의 변화 양상에 대한 정보인 장면 변화 검출 정보(scene change detection information)를 생성하는 캐이던스 검출기(cadence detector); 및
    상기 캐이던스 검출기의 전단(front-end) 또는 후단(back-end)에서 상기 비디오 스트림 또는 상기 캐이던스 검출기의 출력 스트림을 디코딩(decoding)하는 디코딩 모듈(decoding module)을 포함하는 디코더.
  2. 제1항에 있어서,
    상기 캐이던스 검출기는,
    상기 비교 결과를 생성하는 프레임 비교기(frame comparator);
    상기 비교 결과를 기초로 상기 연속적인 프레임들이 풀다운된 스트림인지 판단한 상기 판단 결과를 생성하는 프레임 속성 판단부(frame attribute determiner); 및
    상기 판단 결과를 기초로 상기 연속적인 프레임들로부터 상기 적어도 하나의 중복된 프레임을 선택적으로 제거하는 복제 프레임 제거기(duplicate frame remover)를 포함하는 디코더.
  3. 제2항에 있어서,
    상기 복제 프레임 제거기는,
    상기 연속적인 프레임들에 상기 적어도 하나의 중복된 프레임이 존재하지 않을 경우, 상기 연속적인 프레임들을 바이패스(bypass)하는 디코더.
  4. 제2항에 있어서,
    상기 프레임 속성 판단부는,
    상기 판단 결과를 기초로 풀다운된 비율에 대한 정보인 캐이던스 포맷 정보(cadence format information)를 생성하는 디코더.
  5. 삭제
  6. 제1항에 있어서,
    상기 디코딩 모듈이 상기 캐이던스 검출기의 상기 전단에서 상기 비디오 스트림을 디코딩할 경우,
    상기 캐이던스 검출기는,
    디코딩된 상기 비디오 스트림으로부터 상기 적어도 하나의 중복된 프레임을 선택적으로 제거한 원본 스트림, 풀다운된 비율에 대한 정보인 캐이던스 포맷 정보, 및 상기 비디오 스트림의 연속적인 프레임들의 변화 양상에 대한 정보인 장면 변화 검출 정보를 포스트 프로세서(post processor)로 출력하는 디코더.
  7. 제1항에 있어서,
    상기 디코딩 모듈이 상기 캐이던스 검출기의 상기 후단에서 상기 비디오 스트림을 디코딩할 경우,
    상기 캐이던스 검출기는,
    상기 비디오 스트림으로부터 상기 적어도 하나의 중복된 프레임을 선택적으로 제거한 상기 출력 스트림, 풀다운된 비율에 대한 정보인 캐이던스 포맷 정보, 및 상기 비디오 스트림의 연속적인 프레임들의 변화 양상에 대한 정보인 장면 변화 검출 정보를 상기 디코딩 모듈로 전송하고,
    상기 디코딩 모듈은,
    상기 출력 스트림을 상기 캐이던스 포맷 정보, 및 상기 장면 변화 검출 정보를 기초로 디코딩하는 디코더.
  8. 비디오 스트림(video stream)을 디코딩(decoding)하고, 상기 비디오 스트림의 연속적인 프레임들 비교하여 상기 연속적인 프레임들의 일치하는 정도를 나타내는 비교 결과를 생성하고, 상기 비교 결과와 미리 정해진 임계치를 비교하여 상기 연속적인 프레임들의 변화 양상에 대한 정보인 장면 변화 검출 정보(scene change detection information)를 생성하고, 상기 비디오 스트림의 적어도 하나의 중복된 프레임을 선택적으로 제거하여 원본 스트림을 생성하는 디코더(decoder); 및
    상기 원본 스트림을 후처리(post-processing)하는 포스트 프로세서(post-processor)를 포함하며,
    상기 포스트 프로세서는,
    상기 원본 스트림을 미리 정해진 프레임 레이트(frame rate)를 가지는 스트림으로 변환하는 프레임 레이트 변환 유닛(frame rate conversion unit); 및
    상기 원본 스트림에 대해 손떨림 보정을 수행하는 디지털 이미지 안정화(Digital Image Stabilization;DIS) 유닛을 포함하는 애플리케이션 프로세서.
  9. 제8항에 있어서,
    상기 디코더는,
    상기 비디오 스트림이 풀다운(pull-down)된 스트림인지 판단하고, 판단 결과에 따라 상기 적어도 하나의 중복된 프레임을 선택적으로 제거하는 캐이던스 검출기(cadence detector); 및
    상기 캐이던스 검출기의 전단(front-end) 또는 후단(back-end)에서 상기 비디오 스트림 또는 상기 캐이던스 검출기의 출력 스트림을 디코딩하는 디코딩 모듈(decoding module)을 포함하는 애플리케이션 프로세서.
  10. 캐이던스 검출기가 비디오 스트림(video stream)이 풀다운(pull-down)된 스트림인지 판단하고, 판단 결과에 따라 적어도 하나의 중복된 프레임(frame)을 제거하는 (a) 단계;
    상기 비디오 스트림의 연속적인 프레임들 비교하여 상기 연속적인 프레임들의 일치하는 정도를 나타내는 비교 결과를 생성하는 (b) 단계;
    상기 비교 결과와 미리 정해진 임계치를 비교하여 상기 연속적인 프레임들의 변화 양상에 대한 정보인 장면 변화 검출 정보(scene change detection information)를 생성하는 (c) 단계; 및
    상기 캐이던스 검출기의 전단(front-end) 또는 후단(back-end)에서 상기 비디오 스트림 또는 상기 캐이던스 검출기의 출력 스트림을 디코딩(decoding)하는 (b) 단계를 포함하는 디코더의 동작 방법.
KR1020140140918A 2014-10-17 2014-10-17 디코더, 상기 디코더를 포함하는 애플리케이션 프로세서, 및 상기 디코더의 동작 방법 KR102246402B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140140918A KR102246402B1 (ko) 2014-10-17 2014-10-17 디코더, 상기 디코더를 포함하는 애플리케이션 프로세서, 및 상기 디코더의 동작 방법
US14/829,765 US20160112710A1 (en) 2014-10-17 2015-08-19 Decoder, application processor including the decoder, and method of operating the decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140140918A KR102246402B1 (ko) 2014-10-17 2014-10-17 디코더, 상기 디코더를 포함하는 애플리케이션 프로세서, 및 상기 디코더의 동작 방법

Publications (2)

Publication Number Publication Date
KR20160045420A KR20160045420A (ko) 2016-04-27
KR102246402B1 true KR102246402B1 (ko) 2021-04-30

Family

ID=55750104

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140140918A KR102246402B1 (ko) 2014-10-17 2014-10-17 디코더, 상기 디코더를 포함하는 애플리케이션 프로세서, 및 상기 디코더의 동작 방법

Country Status (2)

Country Link
US (1) US20160112710A1 (ko)
KR (1) KR102246402B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200060589A (ko) * 2018-11-21 2020-06-01 삼성전자주식회사 병합된 프레임율 컨버터와 비디오 코덱을 갖는 시스템 온 칩 및 그것의 프레임율 변환 방법
CN112839262A (zh) * 2019-11-25 2021-05-25 中兴通讯股份有限公司 Epg ui帧的处理方法、装置、服务器及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020036717A1 (en) * 1999-08-24 2002-03-28 Fujitsu Limited Image processing device, method and storage medium thereof
US20020150162A1 (en) * 2000-12-11 2002-10-17 Ming-Chang Liu 3:2 Pull-down detection
US20090161766A1 (en) * 2007-12-21 2009-06-25 Novafora, Inc. System and Method for Processing Video Content Having Redundant Pixel Values
US20100253838A1 (en) * 2009-04-01 2010-10-07 Sanjay Garg Cadence detection in progressive video
JP2013126065A (ja) 2011-12-14 2013-06-24 Panasonic Corp 映像信号処理装置および映像信号処理方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5614945A (en) * 1993-10-19 1997-03-25 Canon Kabushiki Kaisha Image processing system modifying image shake correction based on superimposed images
JP3094903B2 (ja) * 1995-06-08 2000-10-03 松下電器産業株式会社 テレビジョン信号変換装置、および画像符号化装置
GB2319684B (en) * 1996-11-26 2000-09-06 Sony Uk Ltd Scene change detection
US6014183A (en) * 1997-08-06 2000-01-11 Imagine Products, Inc. Method and apparatus for detecting scene changes in a digital video stream
JP3523026B2 (ja) * 1997-09-04 2004-04-26 三菱電機株式会社 画像信号処理装置
JP2001218172A (ja) * 2000-01-31 2001-08-10 Nec Corp 動画像復号器におけるフレームレート変換装置、フレームレート変換方法、およびその記録媒体、集積回路装置
US7480447B2 (en) * 2004-03-26 2009-01-20 Thomson Licensing Pause time recovery and playback speed-up without loss of picture information
JP5220627B2 (ja) * 2008-01-16 2013-06-26 パナソニック株式会社 記録装置
JP5436020B2 (ja) * 2009-04-23 2014-03-05 キヤノン株式会社 画像処理装置および画像処理方法
US20110051010A1 (en) * 2009-08-27 2011-03-03 Rami Jiossy Encoding Video Using Scene Change Detection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020036717A1 (en) * 1999-08-24 2002-03-28 Fujitsu Limited Image processing device, method and storage medium thereof
US20020150162A1 (en) * 2000-12-11 2002-10-17 Ming-Chang Liu 3:2 Pull-down detection
US20090161766A1 (en) * 2007-12-21 2009-06-25 Novafora, Inc. System and Method for Processing Video Content Having Redundant Pixel Values
US20100253838A1 (en) * 2009-04-01 2010-10-07 Sanjay Garg Cadence detection in progressive video
JP2013126065A (ja) 2011-12-14 2013-06-24 Panasonic Corp 映像信号処理装置および映像信号処理方法

Also Published As

Publication number Publication date
US20160112710A1 (en) 2016-04-21
KR20160045420A (ko) 2016-04-27

Similar Documents

Publication Publication Date Title
JP5905890B2 (ja) 事例ベースのデータ・プルーニングを用いたビデオ復号
US20090219985A1 (en) Systems and Methods for Processing Multiple Projections of Video Data in a Single Video File
US8548058B2 (en) Image coding apparatus and method for re-recording decoded video data
KR20010014304A (ko) 블럭노이즈 검출장치 및 블럭노이즈 제거장치
JP5011017B2 (ja) 画像復号化装置
CN103686203A (zh) 视频转码方法及装置
JPWO2009078150A1 (ja) 動画像符号化装置、方法、プログラム及び集積回路
US8165217B2 (en) Image decoding apparatus and method for decoding prediction encoded image data
KR102246402B1 (ko) 디코더, 상기 디코더를 포함하는 애플리케이션 프로세서, 및 상기 디코더의 동작 방법
US8509303B2 (en) Video descriptor generation device
JP2010147508A (ja) 撮影装置及び再生装置
JP2007318455A (ja) トランスコーデック装置
WO2015101627A1 (en) Video coding with different spatial resolutions for intra-coded frames and inter-coded frames
CN100542251C (zh) 修改多媒体内容流来实现特技模式回放的方法和系统
JP3621332B2 (ja) スプライト符号化方法及び装置、スプライト符号化データ復号方法及び装置、並びに記録媒体
WO2016131270A1 (zh) 一种错误隐藏的方法和装置
US6438318B2 (en) Method for regenerating the original data of a digitally coded video film, and apparatus for carrying out the method
US20160269735A1 (en) Image encoding method and apparatus, and image decoding method and apparatus
KR20130101900A (ko) 전자 장치 및 인코딩 방법
US20100232768A1 (en) Recording device, reproducing device, and method
US10154248B2 (en) Encoder apparatus, encoder system, encoding method, and medium for separating frames captured in time series by imaging directions
JP2011129979A (ja) 画像処理装置
JP2014110452A (ja) 画像復号装置および画像符号化装置
US11197014B2 (en) Encoding apparatus, decoding apparatus, and image processing system
KR101827607B1 (ko) 복수의 채널들을 이용한 동영상 전송 방법 및 장치 및 동영상 처리 방법 및 장치

Legal Events

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