KR20160105203A - 멀티미디어 코덱, 상기 멀티미디어 코덱을 포함하는 애플리케이션 프로세서, 및 상기 애플리케이션 프로세서의 동작 방법 - Google Patents

멀티미디어 코덱, 상기 멀티미디어 코덱을 포함하는 애플리케이션 프로세서, 및 상기 애플리케이션 프로세서의 동작 방법 Download PDF

Info

Publication number
KR20160105203A
KR20160105203A KR1020150028566A KR20150028566A KR20160105203A KR 20160105203 A KR20160105203 A KR 20160105203A KR 1020150028566 A KR1020150028566 A KR 1020150028566A KR 20150028566 A KR20150028566 A KR 20150028566A KR 20160105203 A KR20160105203 A KR 20160105203A
Authority
KR
South Korea
Prior art keywords
frame
field
mode
encoding
decoder
Prior art date
Application number
KR1020150028566A
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 KR1020150028566A priority Critical patent/KR20160105203A/ko
Priority to TW105103779A priority patent/TWI736528B/zh
Priority to US15/018,001 priority patent/US10070139B2/en
Priority to DE102016203031.0A priority patent/DE102016203031A1/de
Priority to CN201610108380.XA priority patent/CN105933706B/zh
Publication of KR20160105203A publication Critical patent/KR20160105203A/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/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/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Abstract

본 발명의 실시예에 따른 멀티미디어 코덱은, 모드 선택 신호(mode selection signal)에 의해 결정되는 필드 모드(field mode)에 따라 정지 화상 그룹에 속하는 제1 프레임을 상위 필드(top field)와 하위 필드(bottom field)로 나누어 리드(read)하는 소스 리드 유닛 및 상기 필드 모드에 따라, 상기 상위 필드를 인트라 모드(intra mode)로 인코딩하고 상기 하위 필드를 인터 모드(inter mode)로 인코딩하는 인코딩 모듈을 포함한다.

Description

멀티미디어 코덱, 상기 멀티미디어 코덱을 포함하는 애플리케이션 프로세서, 및 상기 애플리케이션 프로세서의 동작 방법{A MULTIMEDIA CODEC, AN APPLICATION PROCESSOR INCLUDING THE MULTIMEDIA CODEC, AND A METHOD OF OPERATING THE APPLICATION PROCESSOR}
본 발명의 개념에 따른 실시예는 멀티미디어 코덱에 관한 것으로 보다 상세하게는, 정지 화상을 효율적으로 인코딩할 수 있는 멀티미디어 코덱, 상기 멀티미디어 코덱을 포함하는 애플리케이션 프로세서, 및 상기 애플리케이션 프로세서의 동작 방법에 관한 것이다.
영상 부호화는 국제표준기구인 ISO/IEC 산하의 MPEG(Moving Picture Expert Group)과 ITU-T 산하의 VCEG(Video Coding Expert Group)에서 국제 표준을 주도해 오고 있다. MPEG과 VCEG은 공동으로 JVT(Joint Video Team)를 결성하여 비디오 부호화 국제표준인 H.264/AVC(Advanced Video Coding)을 완료하였다. H.264/AVC는 기존의 다른 비디오 코덱(예를 들어, MPEG-2, MPEG-4, H.261, H.263)과 달리 가변 블록 사이즈 움직임 추정(Variable Block Size Motion Estimation), 1/4 픽셀 움직임 벡터 해상도(1/4 pixel Motion Vector Resolution), 다중 참조 영상 움직임 추정(Multiple Reference Picture Motion Estimation) 등이 도입됨으로써 기존 코덱 대비 탁월한 압축 성능을 보여준다.
최근의 스마트폰(smartphone)는 대부분 연속 촬영 기능을 갖추고 있으며, 사용자가 연속 촬영을 선택한 경우 일정 시간 간격을 두고 연속으로 촬영된 정지 화상들(still images)을 사용자에게 디스플레이(display)한다. 디스플레이된 정지 화상들로부터 사용자가 특정 정지 화상을 선택하기까지, 상기 정지 화상들을 임시로 저장할 필요가 있다.
이때, 상기 정지 화상들을 임시로 저장할 때 스마트폰은 프레임 내 압축(intra frame compression) 만을 사용하는 JPEG 영상압축 방식으로 저장할 수 있다. 그러나, JPEG 영상압축 방식에서는 압축된 이미지의 용량이 상대적으로 크므로 메모리(memory)에 대한 코스트(cost)가 높아진다.
이를 개선하기 위해 최초 정지 화상에 대해서는 프레임 내 압축이 사용되고 다음 정지 화상들에 대해서는 프레임 간 압축(inter frame compression)이 사용될 수 있다. 상기 영상압축 방식은 JPEG 영상압축 방식에 비해 향상된 압축률을 가지나, 상기 정지 화상들 중 특정 프레임을 랜덤 액세스(random access)하기 어려운 단점을 가진다.
본 발명이 이루고자 하는 기술적 과제는 정지 화상의 인코딩시 높은 압축률과 함께 특정 프레임에 대한 랜덤 액세스가 가능한 멀티미디어 코덱, 상기 멀티미디어 코덱을 포함하는 애플리케이션 프로세서, 및 상기 애플리케이션 프로세서를 제공함에 있다.
본 발명의 실시예에 따른 멀티미디어 코덱은, 모드 선택 신호(mode selection signal)에 의해 결정되는 필드 모드(field mode)에 따라 정지 화상 그룹에 속하는 제1 프레임을 상위 필드(top field)와 하위 필드(bottom field)로 나누어 리드(read)하는 소스 리드 유닛 및 상기 필드 모드에 따라, 상기 상위 필드를 인트라 모드(intra mode)로 인코딩하고 상기 하위 필드를 인터 모드(inter mode)로 인코딩하는 인코딩 모듈을 포함한다.
실시예에 따라, 상기 인트라 모드로 인코딩된 상기 상위 필드, 및 상기 인터 모드로 인코딩된 상기 하위 필드를 기초로 상기 제1 프레임을 디코딩하는 디코더(decoder)를 더 포함한다.
실시예에 따라, 상기 디코더는, 상기 정지 화상 그룹에 속하는 상기 제1 프레임 내지 제n(n은 2 이상의 정수) 프레임이 상기 인코딩 모듈에 의해 인코딩된 후, 사용자에 의해 선택된 프레임을 디코딩하는 경우, 상기 선택된 프레임만을 기초로 디코딩한다.
실시예에 따라, 상기 소스 리드 유닛과 상기 인코딩 모듈을 포함하는 인코더 및 상기 디코더 각각은 H.264 인코더 및 H.264 디코더이다.
실시예에 따라, 상기 상위 필드는 상기 제1 프레임의 홀수 번째 행들에 포함된 픽셀들의 집합이고, 상기 하위 필드는 상기 제1 프레임의 짝수 번째 행들에 포함된 픽셀들의 집합이다.
실시예에 따라, 상기 정지 화상 그룹은 상기 제1 프레임 내지 제n(n은 2 이상의 정수) 프레임을 포함하고, 버스트 샷 모드(burst shot mode)에 의해 생성되는 연속적인 프레임들의 그룹이다.
실시예에 따라, 상기 소스 리드 유닛과 상기 인코딩 모듈을 포함하는 인코더는, 상기 모드 선택 신호에 따라 상기 필드 모드 또는 프레임 모드(frame mode)로 동작한다.
본 발명의 실시예에 따른 애플리케이션 프로세서는, 제1 프레임 내지 제n(n은 2 이상의 정수) 프레임을 포함하는 정지 화상 그룹을 저장하는 메모리, 상기 정지 화상 그룹을 인코딩하기 위한 인코딩 모드를 결정하는 모드 선택 신호(MS)(mode selection signal)를 생성하는 CPU(Central Processing Unit), 및 상기 모드 선택 신호(MS)에 의해 결정되는 필드 모드(field mode)에 따라 상기 정지 화상 그룹을 인코딩하는 멀티미디어 코덱을 포함하며, 상기 멀티 미디어 코덱은, 상기 필드 모드에 따라, 상기 제1 프레임 내지 상기 제n 프레임 각각을 상위 필드(top field)와 하위 필드(bottom field)로 나누어 리드(read)하는 소스 리드 유닛, 및 상기 필드 모드에 따라, 상기 상위 필드를 인트라 모드(intra mode)로 인코딩하고 상기 하위 필드를 인터 모드(inter mode)로 인코딩하는 인코딩 모듈을 포함한다.
실시예에 따라, 상기 멀티미디어 코덱은, 상기 제1 프레임 내지 상기 제n 프레임 중 사용자에 의해 선택된 프레임을 디코딩하는 디코더를 더 포함한다.
실시예에 따라, 상기 디코더는, 상기 선택된 프레임에 포함된 상기 상위 필드 및 상기 하위 필드를 기초로 상기 선택된 프레임을 디코딩한다.
실시예에 따라, 상기 소스 리드 유닛과 상기 인코딩 모듈을 포함하는 인코더 및 상기 디코더 각각은 H.264 인코더 및 H.264 디코더이다.
실시예에 따라, 상기 상위 필드는 상기 제1 프레임 내지 상기 제n 프레임 각각의 홀수 번째 행들에 포함된 픽셀들의 집합이고, 상기 하위 필드는 상기 제1 프레임 내지 상기 제n 프레임 각각의 짝수 번째 행들에 포함된 픽셀들의 집합이다.
실시예에 따라, 상기 정지 화상 그룹은 버스트 샷 모드(burst shot mode)에 의해 생성되는 연속적인 프레임들의 그룹이다.
실시예에 따라, 상기 인코딩 모드는 상기 필드 모드 또는 프레임 모드(frame mode)를 포함한다.
본 발명의 실시예에 따른 애플리케이션 프로세서는, 메모리가, 제1 프레임 내지 제n(n은 2 이상의 정수) 프레임을 포함하는 정지 화상 그룹을 저장하는 단계, 소스 리드 유닛이, 모드 선택 신호(mode selection signal)에 의해 결정되는 필드 모드(field mode)에 따라 상기 제1 프레임 내지 상기 제n 프레임 각각을 상위 필드(top field)와 하위 필드(bottom field)로 나누어 리드(read)하는 단계, 및 인코딩 모듈이, 상기 필드 모드에 따라, 상기 상위 필드를 인트라 모드(intra mode)로 인코딩하고 상기 하위 필드를 인터 모드(inter mode)로 인코딩하는 단계를 포함한다.
실시예에 따라, 디코더가, 상기 제1 프레임 내지 상기 제n 프레임 중 사용자에 의해 선택된 프레임을 디코딩하는 단계를 더 포함한다.
실시예에 따라, 상기 디코딩하는 단계는, 상기 선택된 프레임에 포함된 상기 상위 필드 및 상기 하위 필드를 기초로 상기 선택된 프레임을 디코딩한다.
실시예에 따라, 상기 소스 리드 유닛과 상기 인코딩 모듈을 포함하는 인코더 및 상기 디코더 각각은 H.264 인코더 및 H.264 디코더이다.
실시예에 따라, 상기 상위 필드는 상기 제1 프레임 내지 상기 제n 프레임 각각의 홀수 번째 행들에 포함된 픽셀들의 집합이고, 상기 하위 필드는 상기 제1 프레임 내지 상기 제n 프레임 각각의 짝수 번째 행들에 포함된 픽셀들의 집합이다.
실시예에 따라, 상기 정지 화상 그룹은 버스트 샷 모드(burst shot mode)에 의해 생성되는 연속적인 프레임들의 그룹이다.
실시예에 따라, 상기 소스 리드 유닛과 상기 인코딩 모듈을 포함하는 인코더는, 상기 모드 선택 신호에 따라 상기 필드 모드 또는 프레임 모드(frame mode)로 동작한다.
본 발명의 실시예에 따른 애플리케이션 프로세서에 의하면, 정지 화상 그룹의 인코딩시 높은 압축률을 가지면서도 프레임 별로 랜덤 액세스가 가능한 데이터를 생성할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 데이터 처리 시스템의 블록도이다.
도 2는 도 1에 도시된 인코더를 보다 상세히 나타낸 블록도이다.
도 3은 도 2에 도시된 인코딩 모듈을 보다 상세히 나타낸 블록도이다.
도 4는 정지 화상 그룹이 도 2에 도시된 인코더에 의해 리드되어 인코딩되는 과정을 설명하기 위한 도면이다.
도 5는 도 1에 도시된 디코더에 의해 디코딩되는 과정을 설명하기 위한 도면이다.
도 6은 도 1에 도시된 인코더의 다른 실시예를 나타낸 구성 블록도이다.
도 7은 도 1에 도시된 디코더를 포함하는 시스템의 일 실시 예를 나타내는 블록도이다.
도 8은 도 1에 도시된 애플리케이션 프로세서의 동작 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 다른 실시 예에 따른 데이터 처리 시스템의 구성 블록도이다.
도 10은 본 발명의 일 실시예에 따른 데이터 인코딩 방법을 설명하기 위한 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 데이터 디코딩 방법을 설명하기 위한 흐름도이다.
도 12는 본 발명의 또 다른 실시 예에 따른 데이터 처리 시스템의 구성 블록도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 다수개의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 데이터 처리 시스템의 블록도이다.
도 1을 참조하면, 데이터 처리 시스템(10)은 모바일 단말기(mobile terminal), 예컨대 스마트 폰(smart phone), 태블릿(tablet) PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 모바일 인터넷 장치(mobile internet device(MID)), 비디오 캠코더(video camcorder), 또는 e-북(e-book) 등으로 구현될 수 있다.
데이터 처리 시스템(10)은 애플리케이션 프로세서(application processor, 100), 카메라(camera, 155), 디스플레이 장치(display device, 165), 및 메모리(memory, 175)를 포함할 수 있다.
애플리케이션 프로세서(100)는 CPU(central processing unit, 110), ROM(read only memory, 120), RAM(random access memory, 130), 이미지 프로세서(image processor, 135), 코덱(codec, 140), 카메라 인터페이스(camera interface, 150), 디스플레이 인터페이스(display interface, 160), 및 메모리 인터페이스(memory interface, 170)를 포함할 수 있다. 애플리케이션 프로세서(100)는 시스템 온 칩(system on chip(SoC))으로 구현될 수 있다.
애플리케이션 프로세서(100)의 각 구성(110, 120, 130, 135, 140, 150, 160, 170)은 버스(bus, 105)를 통하여 서로 데이터를 주고 받을 수 있다.
CPU(110)는 애플리케이션 프로세서(100)의 전반적인 동작을 제어할 수 있다. 예컨대, CPU(110)는 ROM(120) 및/또는 RAM(130)에 저장된 프로그램들 및/또는 데이터를 처리 또는 실행시킬 수 있다.
실시 예에 따라, CPU(110)는 2개 이상의 독립적인 프로세서들(또는 코어들)을 갖는 하나의 컴퓨팅 컴포넌트(computing component), 즉 멀티-코어 프로세서(multi-core processor)로 구현될 수 있다.
ROM(120)은 지속적으로 사용되는 프로그램들 및/또는 데이터를 저장할 수 있다. 실시 예에 따라, ROM(120)은 EPROM(erasable programmable ROM) 또는 EEPROM(electrically erasable programmable ROM) 등으로 구현될 수 있다.
RAM(130)은 프로그램들, 데이터, 및/또는 명령들(instructions)을 일시적으로 저장할 수 있다. 실시 예에 따라, RAM(130)은 DRAM(dynamic RAM) 또는 SRAM(static RAM)으로 구현될 수 있다.
RAM(130)은 인터페이스들(150, 160, 170)을 통해 입출력되거나, 코덱(140) 또는 CPU(110)가 생성하는 데이터를 일시적으로 저장할 수 있다.
이미지 프로세서(135)는 RAM(130), 카메라 인터페이스(150), 또는 메모리 인터페이스(170)로부터 입력받은 데이터에 대해 이미지 처리를 수행하고, 이미지 처리된 데이터를 RAM(130), 디스플레이 인터페이스(160), 또는 메모리 인터페이스(170)로 출력할 수 있다.
코덱(140, 또는 멀티미디어 코덱)은 메모리 장치들(120, 130)에 저장된 데이터, 카메라(155)로부터 입력되는 데이터 또는 디스플레이 장치(165)로 출력되는 데이터를 인코딩(encoding) 또는 디코딩(decoding)할 수 있다.
따라서, 코덱(140)은 인코더(encoder, 200)와 디코더(decoder, 400)를 포함할 수 있다. 인코더(200)와 디코더(400) 각각은 H.264 표준을 따르는 H.264 인코더와 H.264 디코더일 수 있다.
도 1에서는 설명의 편의를 위하여, 코덱(140)이 CPU(110), 카메라 인터페이스(150), 및/또는 디스플레이 인터페이스(160)의 외부에 구현된 형태를 도시하였다. 하지만, 코덱(140)은 CPU(110), 카메라 인터페이스(150), 및/또는 디스플레이 인터페이스(160)에 포함될 수도 있으며 코덱(140)의 배치에 의하여 본 발명의 기술적 범위가 제한 해석되어서는 안 된다.
실시예에 따라, 코덱(140)은 소프트웨어(software), 하드웨어(hardware), 또는 소프트웨어와 하드웨어의 결합 형태로 구성될 수 있다.
카메라 인터페이스(150)는 애플리케이션 프로세서(100)의 외부에 있는 카메라(155)로부터 입력되는 데이터(예컨대, 영상 데이터)를 인터페이싱할 수 있다.
카메라(155)는 복수의 광 감지 소자들을 이용해 촬영한 이미지에 대한 데이터를 생성할 수 있다.
디스플레이 인터페이스(160)는 애플리케이션 프로세서(100)의 외부에 있는 디스플레이 장치(165)로 출력되는 데이터(예컨대, 영상 데이터)를 인터페이싱할 수 있다.
디스플레이 장치(165)는 이미지 또는 영상에 대한 데이터를 LCD(Liquid-crystal display), AMOLED(active matrix organic light emitting diodes) 등의 디스플레이를 통해 출력할 수 있다.
메모리 인터페이스(170)는 애플리케이션 프로세서(100)의 외부에 있는 메모리(175)로부터 입력되는 데이터 또는 메모리(175)로 출력되는 데이터를 인터페이싱할 수 있다.
실시예에 따라, 메모리(175)는 불휘발성 메모리(non-volatile memory), 예컨대 플래시 메모리(flash memory) 또는 저항성 메모리(resistive memory) 등으로 구현될 수 있다.
도 2는 도 1에 도시된 인코더(200)의 일 실시예(200a)를 나타낸 구성 블록도이다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 인코더(200a)는 소스 리드 유닛(source read unit, 250), 이미지 타입 결정 블록(image type determination block, 270), 및 인코딩 모듈(encoding module, 300)을 포함할 수 있다.
소스 리드 유닛(250)은 CPU(110)의 제어에 따라 영상 데이터(image data, ID)를 RAM(130)으로부터 리드할 수 있다. 즉, CPU(110)는 RAM(130)에 임시 저장된 데이터를 인코딩하기 위해 소스 리드 유닛(250)을 제어하여, 소스 리드 유닛(250)이 해당 데이터를 리드하도록 제어할 수 있다.
소스 리드 유닛(250)은 CPU(110)가 생성하는 모드 선택 신호(mode selection signal, MS)에 따라 결정되는 인코딩 모드(encoding mode)에 따라 영상 데이터(ID)를 리드할 수 있다.
상기 인코딩 모드는 프레임 모드(frame mode)와 필드 모드(field mode)를 포함할 수 있다. 상기 프레임 모드는 RAM(130)에 저장된 데이터를 프레임 단위로 리드하여 인코딩을 수행하는 모드이다. 상기 필드 모드는 RAM(130)에 저장된 데이터를 필드 단위로 리드하여 인코딩을 수행하는 모드이다.
여기서, 상기 필드는 상위 필드(top field)와 하위 필드(bottom field)를 포함한다. 상기 상위 필드는 각 프레임의 홀수 번째 행들에 포함된 픽셀들의 집합이며, 상기 하위 필드는 각 프레임의 짝수 번째 행들에 포함된 픽셀들의 집합이다.
즉, RAM(130)이 카메라(155)가 생성한 제1 프레임 내지 제n(n은 2 이상의 정수) 프레임을 임시로 저장한다고 가정할 때, 소스 리드 유닛(250)은 상기 프레임 모드에서는 제1 프레임 내지 제n 프레임을 프레임 단위로 순차적으로 리드한다. 이때, 소스 리드 유닛(250)은 상기 필드 모드에서는 제1 프레임 내지 제n 프레임을 필드 단위로 예컨대, 제1 프레임의 상위 필드를 먼저 리드하고 상기 제1 프레임의 하위 필드를 리드하고, 제2 프레임의 상위 필드를 리드하고 상기 제2 프레임의 하위 필드를 리드하는 순서로 순차적으로 리드한다.
사용자는 CPU(110) 상에서 동작하는 카메라 애플리케이션(camera application)에서 제공하는 여러가지 촬영 모드를 이용할 수 있으며, 상기 촬영 모드는 크게 사진 촬영 모드와 동영상 촬영 모드를 포함할 수 있다. 상기 사진 촬영 모드는 사용자가 버튼을 누를 때마다 하나의 프레임이 촬영되는 일반 모드와 사용자가 버튼을 한번 누르면 미리 정해진 개수의 프레임들이 연속적으로 촬영되는 버스트 샷 모드(burst shot mode)를 포함한다.
사용자가 상기 카메라 애플리케이션을 통해 사진 촬영 모드를 선택하여 촬영 버튼을 누르게 되면, 카메라(155)에 의해 적어도 하나의 정지 화상(still image)이 캡쳐된다. 캡쳐된 정지 화상은 RAM(130)에 일시적으로 저장되었다가 CPU(110)의 제어에 따라 인코딩을 위해 코덱(140)으로 전송된다.
CPU(110)는 적어도 하나의 정지 화상이 상기 사진 촬영 모드에서 캡쳐된 경우, 인코딩 모드가 필드 모드임을 나타내는 모드 선택 신호(MS)를 소스 리드 유닛(250)으로 전송할 수 있다.
이후, 설명의 편의상 본 명세서에서는 사용자가 상기 사진 촬영 모드 중 상기 버스트 샷 모드에서 촬영을 시도하여 생성되는 연속적인 프레임들(제1 프레임 내지 제n 프레임)의 그룹인 정지 화상 그룹(still image group)이 RAM(130)에 일시적으로 저장되었음을 가정하고 설명하기로 한다.
소스 리드 유닛(250)은 필드 모드를 나타내는 모드 선택 신호(MS)에 따라 제1 프레임 내지 제n 프레임 각각을 상위 필드와 하위 필드로 나누어 리드할 수 있다. 이미지 데이터(ID)가 포함하는 상기 상위 필드들과 상기 하위 필드들 각각은 필드 영상(field image)으로 불릴 수 있다.
소스 리드 유닛(250)은 리드한 제1 프레임 내지 제n 프레임 각각의 필드들을 리드한 순서대로 인코딩 데이터(ED)로서 출력할 수 있다.
이미지 타입 결정 블록(270)은 영상 데이터(ID)를 입력 받아, 영상 데이터(ID)의 각 필드 영상의 이미지 타입을 결정할 수 있다.
상기 이미지 타입은 인코딩 모듈(300)에 의해 부호화되는 방식의 차이를 갖는 이미지의 종류를 의미하며, I 영상, P 영상, 및 B 영상으로 구분될 수 있다.
상기 I 영상은 다른 영상을 참조하지 않고 현재의 영상 내에서 인트라 예측(intra prediction) 만이 수행되어 부호화되는 타입이다. 상기 P 영상은 이전의 영상을 참조하는 인터 예측(inter prediction) 및 상기 인트라 예측이 수행되어 부호화되는 타입이다. 상기 B 영상은 이전의 영상과 이후의 영상을 참조하는 인터 예측 및 상기 인트라 예측이 수행되어 부호화되는 타입이다.
이미지 타입 결정 블록(270)이 상기 각 필드 영상의 이미지 타입을 결정하기 위해, 영상 데이터(ID)를 특정한 영상 그룹(image group)으로 할당한다. 상기 영상 그룹은 I 영상의 할당에 의해 상기 영상 그룹의 사이즈가 결정되며, P 영상 및/또는 B 영상의 배열에 의해서 상기 영상 그룹의 구조가 결정된다. 즉, P 영상과 B 영상의 배열에 의해 부호화되는 데이터의 비트수를 감소시킬 수 있으며, I 영상을 간헐적으로 할당하여 영상 그룹의 사이즈를 제한함으로써 오류 전파(error propagation)를 방지할 수 있다.
본 명세서에서는 설명의 편의상 필드 모드에 따라 영상 데이터(ID)가 필드 단위로 입력될 경우 이미지 타입 결정 블록(270)은 영상 데이터(ID)를 IP 방식의 구조를 갖는 영상 그룹으로 할당한다고 가정하고 설명하기로 한다. 상기 IP 방식은 영상 데이터(ID)의 연속적인 필드 영상들을 I 영상, 및 P 영상의 타입으로 결정하는 방식이다. 본 발명의 범위는 이에 한정되지 않으며, 실시예에 따라 상기 IP 방식 이외에 IPPP 방식, IBBBP 방식 등이 이용될 수도 있다.
이미지 타입 결정 블록(270)은 인코딩 모듈(300)로 입력되는 인코딩 이미지(ED)의 각 필드 영상의 이미지 타입을 나타내는 영상 타입 할당 신호(PTA)를 생성하여 인코딩 모듈(300)로 전송할 수 있다.
이미지 타입 결정 블록(270)은 제1 프레임 내지 제n 프레임 각각에 포함된 상위 필드들을 I 영상으로 할당하고 제1 프레임 내지 제n 프레임 각각에 포함된 하위 필드들을 P 영상으로 할당할 수 있다.
인코딩 모듈(300)은 영상 타입 할당 신호(PTA)를 참조하여 인코딩 데이터(ED)의 영상 타입에 따라 인트라 예측 및/또는 인터 예측을 수행하여 부호화한 비트 스트림(BS)을 생성할 수 있다.
인코딩 모듈(300)의 상세한 구성과 동작은 도 3을 참조하여 후술하기로 한다.
도 3은 도 2에 도시된 인코딩 모듈(300)을 보다 상세히 나타낸 블록도이다.
도 1 내지 도 3을 참조하면, 인코딩 모듈(300)은 각 필드 영상의 매크로 블록 단위로 제공되는 인코딩 데이터(ED)를 수신한다. 인코딩 모듈(300)은 인트라 예측 및 인터 예측을 수행하여 매크로블록 단위로 부호화 모드를 결정하고, 상기 부호화 모드에 따라인코딩 데이터(ED)를 매크로블록 단위로 부호화한다.
인코딩 모듈(300)은 예측 블록(prediction block)(310), 모드 결정부(mode decision block;MD, 320), 감산기(subtractor)(330), 변환부(transform block;T, 331), 양자화부(quantization block;Q, 332), 엔트로피 코더(entropy coder; EC, 333), 인코딩된 영상 버퍼(encoded picture buffer;EPB, 334), 역양자화부(inverse quantization block;Q-1, 335), 역변환부(inverse transform block; T-1, 336), 가산기(adder, 340), 디블록킹 필터(deblocking filter;DF, 350) 및 참조 영상 메모리(reference image memory;MEM, 360)를 포함할 수 있다.
예측부(310)는 매크로블록 단위로 입력되는 인코딩 데이터(ED)에 대하여 인터 예측을 수행하는 인터 예측부(inter prediction unit;IEPU, 312) 및 인트라 예측을 수행하는 인트라 예측부(intra prediction unit;IAPU, 314)를 포함한다.
예측부(310)는 영상 타입 할당 신호(PTA)에 의해 정해지는 I 영상, P 영상 등의 영상 타입에 따라서 인트라 예측 및/또는 인터 예측을 수행한다.
영상 타입 할당 신호(PTA)가 필드 영상이 I 영상임을 나타내는 경우, 인터 예측부(312)는 I 영상의 모든 매크로블록을 수신하여 I 영상을 기초로 인트라 예측을 수행한다.
영상 타입 할당 신호(PTA)가 필드 영상이 P 영상임을 나타내는 경우, 인터 예측부(312)는 직전에 부호화 및 복호화된 영상(동일 영상 그룹에 속한 I 영상 또는 P 영상) 즉, 참조 영상을 참조하여 인터 예측을 수행하고 인트라 예측부(314)는 상기 I 영상을 기초로 인트라 예측을 수행한다.
영상 타입 할당 신호(PTA)가 필드 영상이 B 영상임을 나타내는 경우, 인터 예측부(312)는 이전에 부호화 및 복호화된 영상(동일 영상 그룹에 속한 I 영상 및 P 영상) 즉, 참조 영상들을 참조하여 인터 예측을 수행하고 인트라 예측부(314)는 상기 I 영상을 기초로 인트라 예측을 수행한다.
H.264 표준에 따르면, 매크로블록의 가용 부호화 모드는 인터 모드와 인트라 모드로 대별된다. 인터 모드는 스킵 모드(SKIP mode), 16*16, 8*16, 16*8, 8*8의 5가지 움직임 보상 모드를 포함하고, 8*8 움직임 보상 모드는 각각의 8*8 서브블록(sub-block)에 대하여 8*4, 4*8, 4*4의 3가지 서브 모드(Sub-mode)를 포함한다. 인트라 모드는 4개의 16*16 인트라 예측 모드 및 9개의 4*4 인트라 예측 모드를 포함한다.
하나의 매크로블록을 상기 가용 부호화 모드 중 하나로 부호화하기 위해 예측부(310)는 다음과 같은 율-왜곡 최적화(rate-distortion optimization)를 수행할 수 있다.
인트라 예측부(314)는 전술한 인트라 모드들 중에서 다음의 수학식 1에 표시된 인트라 율-왜곡 코스트(Jmd)를 최소로 하는 인트라 모드를 구한다.
Figure pat00001
여기서, Kmd는 모드 결정을 위한 라그랑지안(Lagrangian) 계수를 나타내고, Rmd는 후보 인트라 모드로 부호화하는데 요구되는 비트수를 나타낸다. DISTmd는 참조 영상 메모리(360)로부터 제공되는 복원된 매크로블록과 필드 영상의 입력 매크로블록의 픽셀 간의 차이에 대한 왜곡을 나타낸다. 왜곡 함수로는 SAD(Sum of Absolute Difference), SATD(Sum of Absolute Transformed Difference) 또는 SSD(Sum of Squared Difference) 등이 사용될 수 있다. 이와 같이 인트라 예측부(314)는 각각의 인트라 모드에 대하여 인트라 율-왜곡 코스트(Jmd)들을 계산하고 그 중에서 최소가 되는 인트라 율-왜곡 코스트(Jmd)와 상기 최소가 되는 인트라 율-왜곡 코스트(Jmd)에 대응하는 매크로 블록에 대한 정보를 최소 인트라 율-왜곡 코스트(MCST2)로 결정한다.
인터 예측부(312)는 상기 스킵 모드를 제외한 인터 모드의 각각에 대해 최적의 움직임 벡터를 구한다. 최적 움직임 벡터는 후보 움직임 벡터들 중 다음의 수학식 2에 표시된 인터 율-왜곡 코스트(Jmt)를 최소로 하는 움직임 벡터를 나타낸다.
Figure pat00002
여기서, Kmt는 움직임 추정을 위한 라그랑지안(Lagrangian) 계수를 나타내고, Rmt는 후보 모드, 후보 참조 영상 및 후보 움직임 벡터를 이용하여 데이터를 부호화하는데 필요한 비트수를 나타낸다. DISTmt는 후보 움직임 벡터로 생성되는 움직임 보상된 매크로블록과 입력 매크로블록의 화소 간의 차이에 대한 왜곡을 나타낸다. 왜곡 함수로는 SAD(Sum of Absolute Difference), SATD(Sum of Absolute Transformed Difference) 또는 SSD(Sum of Squared Difference) 등이 사용될 수 있다.
후보 움직임 벡터의 종류는 일반적으로 탐색 윈도우(search window)의 크기에 따라 정해진다. 인코딩 모듈(300)이 복수의 참조 영상들을 사용하는 경우에는 각 참조 영상별로 최적 움직임 추정을 위한 위 연산을 각기 반복 수행한다. 이와 같이 인터 예측부(312)는 각각의 참조 영상, 각각의 후보 움직임 벡터 및 각각의 인터 모드에 대하여 인터 율-왜곡 코스트(Jmt) 들을 계산하고 그 중에서 최소가 되는 인터 율-왜곡 코스트(Jmt) 및 상기 최소가 되는 인터 율-왜곡 코스트(Jmt)에 대응하는 매크로 블록에 대한 정보를 최소 인터 율-왜곡 코스트(MCST1)로서 결정한다.
상기 스킵 모드에서 인터 예측부(312)는 최적의 움직임 벡터를 구하지 않고, 상기 입력 매크로 블록과 동일한 위치에 해당하는 참조 영상의 매크로 블록의 인터 율-왜곡 코스트(Jmt) 및 상기 참조 영상의 매크로 블록에 대한 정보를 최소 인터 율-왜곡 코스트(MCST1)로서 결정한다.
모드 결정부(320)는 최소 인트라 율-왜곡 코스트(MCST2)와 최소 인터 율-왜곡 코스트(MCST1)를 비교하여 그 중에서 작은 값에 상응하는 부호화 모드를 결정한다. 모드 결정부(320)는 결정된 부호화 모드에 상응하는 참조 블록(reference block), 움직임 벡터 등의 정보를 감산기(330) 및 가산기(340)에 제공할 수 있다. 상기 참조 블록은 상기 작은 값에 해당하는 매크로 블록에 대한 정보를 의미한다.
감산부(330)는 모드 결정부(320)로부터 제공되는 참조 블록을 입력 매크로 블록에서 차분함으로써, 잔차 블록(residual block)을 생성한다.
변환부(331)는 감산부(330)에 의하여 생성된 잔차 블록에 대하여 공간적 변환(spatial transform)을 수행한다. 이러한 공간적 변환 방법으로는 이산 여현 변환(DCT: Discrete Cosine Transform), 웨이브렛 변환(wavelet transform) 등이 사용될 수 있다. 공간적 변환 결과 변환 계수가 구해지는데, 공간적 변환 방법으로 DCT를 사용하는 경우 DCT 계수가, 웨이브렛 변환을 사용하는 경우 웨이브렛 계수가 구해진다.
양자화부(332)는 변환부(331)에서 구한 변환 계수를 양자화한다. 양자화(quantization)란 임의의 값으로 표현되는 상기 변환 계수를 일정 구간으로 나누어 불연속적인 값(discrete value)으로 나타내는 작업을 의미한다. 이러한 양자화 방법으로는 스칼라 양자화, 벡터 양자화 등의 방법이 있다. 간단한 스칼라 양자화 방법은 변환 계수를 양자화 테이블의 해당 값으로 나눈 후 정수 자리로 반올림하는 과정으로 수행된다.
엔트로피 코더(333)는 양자화부(332)에서 양자화된 데이터와 인트라 예측 모드, 참조 프레임 번호, 움직임 벡터 등의 정보를 무손실 부호화하고 비트 스트림(BS)을 생성한다. 이러한 무손실 부호화 방법으로는, CABAC(Context-adaptive binary arithmetic coding)과 같은 산술 부호화(arithmetic coding), CAVLC(Context-adaptive variable-length coding)과 같은 가변 길이 부호화(variable length coding) 등이 사용될 수 있다.
비트 스트림(BS)은 인코딩된 영상 버퍼(334)에 버퍼링(buffering)된 후 외부로 출력될 수 있다. 비트 스트림(BS)은 인코더(200a) 외부의 메모리(예컨대, RAM(130) 또는 메모리(175))에 저장될 수 있다.
역양자화부(335), 역변환부(336), 및 가산기(340)는 손실 부호화된 데이터를 역으로 복호화하여 재구성 영상(reconstructed picture)을 복원하기 위하여 사용된다. 역양자화부(335)는 양자화부(331)에서 양자화된 데이터를 역양자화한다. 이러한 역양자화 과정은 양자화 과정의 역에 해당되는 과정이다. 역변환부(336)는 상기 역양자화 결과를 역 공간적 변화하여 이를 가산기(340)에 제공한다.
가산기(340)는 역변환부(336)로부터 제공된 신호와 모드 결정부(320)에서 제공된 참조 블록을 합산하여 입력 매크로블록을 복원한다. 가산기(340)에 의하여 복원된 매크로블록은 디블록킹 필터(350)에 제공되며, 복원된 영상 중 인접 블록의 이미지는 인트라 예측부(314)에 제공된다. 디블록킹 필터(350)는 매크로블록의 각각의 경계선에 대하여 디블록 필터링을 수행한다. 디블록 필터링된 데이터는 참조 영상 메모리(360)에 저장되어 참조 영상으로서 이용된다.
즉, 인코딩 모듈(300)은 I 영상으로 할당되는 제1 프레임 내지 제n 프레임 각각에 포함된 상위 필드들을 인트라 모드로 인코딩하고, P 영상으로 할당되는 제1 프레임 내지 제n 프레임 각각에 포함된 하위 필드들을 인터 모드 및 인트라 모드로 인코딩할 수 있다.
도 4는 정지 화상 그룹이 도 2에 도시된 인코더(200a)에 의해 리드되어 인코딩되는 과정을 설명하기 위한 도면이다.
도 1 내지 도 4를 참조하면, 제1 프레임 내지 제n 프레임(F1~Fn)을 포함하는 정지 화상 그룹(still image group)이 버스트 샷 모드에 의해 생성된다. 상기 정지 화상 그룹은 RAM(130)에 일시적으로 저장되고, CPU(110)의 제어에 따라 코덱(140)으로 전송될 수 있다.
소스 리드 유닛(250)은 모드 선택 신호(MS)에 따라 결정되는 필드 모드에 따라 영상 데이터(ID)를 리드할 수 있다. 제1 프레임 내지 제n 프레임(F1~Fn) 각각은 A개의 행과 B개의 열(A와 B는 각각 1 이상의 정수)을 가진 매트릭스(matrix) 형태로 배열되는 복수의 픽셀들을 포함할 수 있다.
소스 리드 유닛(250)은 제1 프레임의 홀수 번째 행들(행 번호가 0, 2, 4, ...인 행들)에 해당하는 제1 상위 필드(TF1)를 리드한 뒤, 제1 프레임의 짝수 번째 행들(행 번호가 1, 3, 5, ...인 행들)에 해당하는 제1 하위 필드(BF1)를 리드한다. 마찬가지로, 제2 프레임(F2) 내지 제n 프레임(Fn) 각각에 대해서도 상위 필드(TF2~TFn)를 먼저 리드한 후 하위 필드(BF2~BFn)를 리드하게 된다.
이미지 타입 결정 블록(270)은 영상 데이터(ID)의 순차적인 필드들(TF1~TFn, BF1~BFn)을 프레임 별로 제1 영상 그룹 내지 제n 영상 그룹(IG1~IGn)으로 할당한다. 즉, 제1 영상 그룹 내지 제n 영상 그룹(IG1~IGn) 각각의 상위 필드들(TF1~TFn)은 인트라 슬라이스(intra slice)인 I 영상으로 할당되며, 제1 영상 그룹 내지 제n 영상 그룹(IG1~IGn) 각각의 하위 필드들(BF1~BFn)은 인터 슬라이스(inter slice)인 P 영상으로 할당된다.
인코딩 모듈(300)은 제1 영상 그룹 내지 제n 영상 그룹(IG1~IGn) 각각의 상위 필드(TF1~TFn)를 I 영상으로서 인코딩한 뒤, I 영상으로서 인코딩된 상위 필드(TF1~TFn)를 기초로 제1 영상 그룹 내지 제n 영상 그룹(IG1~IGn) 각각의 하위 필드(BF1~BFn)를 P 영상으로서 인코딩할 수 있다. 예컨대, 인코딩 모듈(300)은 제1 영상 그룹(IG1)의 상위 필드(TF1)를 I 영상으로서 인코딩한 뒤, 인코딩된 상위 필드(TF1)를 기초로 제1 영상 그룹(IG1)의 하위 필드(BF1)를 P 영상으로서 인코딩하고, 제2 영상 그룹(IG2)의 상위 필드(TF2)를 I 영상으로서 인코딩한 뒤, 인코딩된 상위 필드(TF2)를 기초로 제2 영상 그룹(IG2)의 하위 필드(BF2)를 P 영상으로서 인코딩할 수 있다. 이와 같은 방식으로, 인코딩 모듈(300)은 제n 영상 그룹(IGn)까지 순차적으로 인코딩할 수 있다.
따라서, 제1 프레임 내지 제n 프레임(F1~Fn) 각각은 제1 영상 그룹 내지 제n 영상 그룹(IG1~IGn) 각각에 대응되며, 각 영상 그룹은 필드로 구분되어 IP 방식에 따라 인코딩되므로 제1 프레임 내지 제n 프레임(F1~Fn) 각각이 인트라 모드로 인코딩될 때보다 더 좋은 압축률을 나타낼 수 있다.
또한, 사용자에 의해 특정 프레임이 디스플레이되어야 할 경우, CPU(110)는 RAM(130)에 저장된 상기 특정 프레임에 대응하는 제1 영상 그룹 내지 제n 영상 그룹(IG1~IGn) 중 어느 하나의 그룹만을 디코더(400)로 전송할 수 있다. 디코더(400)는 상기 어느 하나의 그룹 만을 기초로 디코딩을 수행하여 그에 대응하는 제1 프레임 내지 제n 프레임(F1~Fn) 중 어느 한 프레임을 복호화할 수 있다. 즉, 사용자의 요청에 의해 인코딩된 어느 하나의 프레임을 복호화할 경우, 각 프레임에 대응하는 각 영상 그룹은 IP 방식에 따라 독립적으로 인코딩되어 RAM(130)에 저장되므로 상기 프레임을 제외한 다른 프레임을 참조할 필요없이 복호화가 가능하다. 달리 말하면, 인코딩된 각 프레임에 대한 복호화 시 랜덤 액세스(random access)가 가능하게 된다.
도 5는 도 1에 도시된 디코더(400)에 의해 디코딩되는 과정을 설명하기 위한 도면으로서, 구체적으로는, 도 4에 도시된 인코딩 과정에 따라 인코딩된 제1 영상 그룹 내지 제n 영상 그룹(IG1~IGn) 중 어느 하나의 그룹인 제2 영상 그룹(IG2)를 선택하여 디코딩하는 과정을 설명하기 위한 도면이다.
도 1 내지 도 4를 참조하면, 사용자에 의해 특정 프레임(예컨대, 제2 프레임(F2))이 디스플레이되어야 할 경우, CPU(110)는 RAM(130)에 저장된 상기 제2 프레임(F2)에 해당하는 제2 영상 그룹(IG2)만을 독출하여 디코더(400)로 전송할 수 있다. 디코더(400)는 필드 모드에 따라, 제2 영상 그룹(IG2)의 상위 필드(TF2)를 인트라 모드(intra mode)로 디코딩하고 상기 하위 필드(BF2)를 인터 모드(inter mode)로 디코딩할 수 있다. 또한, 디코더(400)는 디코딩된 데이터를 재배열하여 제2 프레임(F2)을 복원할 수 있다.
예컨대, 디코더(400)는 상위 필드(TF2)는 제2 프레임(F2)의 홀수 번째 행들(행 번호가 0, 2, 4, ...인 행들)이 되도록, 그리고, 하위 필드(BF2)는 제2 프레임(F2)의 짝수 번째 행들(행 번호가 1, 3, 5, ...인 행들)이 되도록 상위 필드(TF2)의 한 행(row)과 하위 필드(BF2)의 한 행(row)을 교대로 읽어 제2 프레임(F2)의 해당 행으로 재배열함으로써, 제2 프레임(F2)을 복원할 수 있다. 도 6은 도 1에 도시된 인코더(200)의 다른 실시예(200b)를 나타낸 구성 블록도이다. 본 발명의 다른 실시예에 따른 인코더(200b)는 도 2에 도시된 인코더(200a)와 그 구성 및 동작이 유사하므로, 설명의 중복을 피하기 위하여 차이점 위주로 기술한다.
도 1, 도 2 및 도 6 참조하면, 본 발명의 다른 실시예에 따른 인코더(200b)는 소스 리드 유닛(250), 이미지 타입 결정 블록(270), 및 H.264 인코딩 모듈(300a)을 포함할 수 있다.
H.264 인코딩 모듈(300a)은 H.264 표준을 따르는 인코딩 모듈이다. H.264 인코딩 모듈(300a)의 구성 및 동작은 도 3에 도시된 인코딩 모듈(300)의 구성 및 동작과 동일할 수 있다.
도 6은 도 1에 도시된 디코더(400)의 일 실시예를 나타낸 구성 블록도이다. 본 발명의 일 실시예에 따른 디코더(400)는 H.264 디코딩 모듈(H.254 decoding module, 410) 및 재배열기(Rearranger, 420)를 포함할 수 있다.
H.264 디코딩 모듈(410)은 비트 스트림(BS)을 수신하고, 이를 디코딩하여 인코딩 데이터(ED)를 출력할 수 있다. 비트 스트림(BS)은 H.264 인코딩 모듈(300a)에 의해 출력되어 메모리에 저장된 후 H.264 디코딩 모듈(410)로 입력될 수 있다.
H.264 디코딩 모듈(410)은 도 3에 도시된 인코딩 모듈(300)의 역(inverse) 동작을 수행하여 비트 스트림(BS)으로부터 인코딩 데이터(ED)를 복원할 수 있다.
재배열기(420)는 인코딩 데이터(ED)를 재배열하여 영상 데이터(ID)를 복원할 수 있다.
예컨대, 재배열기(420)는 도 5를 참조하여 상술한 바와 같이, 인코딩 데이터(ED) 중 상위 필드(TF1~TFn)는 해당 프레임(F1~Fn)의 홀수 번째 행들(행 번호가 0, 2, 4, ...인 행들)이 되도록, 그리고, 하위 필드(BF1~BFn)는 해당 프레임(F1~Fn)의 짝수 번째 행들(행 번호가 1, 3, 5, ...인 행들)이 되도록 상위 필드의 한 행(row)과 하위 필드의 한 행(row)을 교대로 읽어 재배열함으로써, 영상 데이터(ID)의 각 프레임(F1~Fn)을 복원할 수 있다.
도 8은 도 1에 도시된 애플리케이션 프로세서의 동작 방법을 설명하기 위한 흐름도이다.
도 1 내지 도 8을 참조하면, RAM(130)은 사용자에 의해 선택된 버스트 샷 모드에 의해 생성된 정지 화상 그룹(제1 프레임(F1) 내지 제n 프레임(Fn)을 포함)을 저장한다(S10).
소스 리드 유닛(250)은 모드 선택 신호(MS)에 의해 결정되는 필드 모드에 따라 제1 프레임(F1) 내지 제n 프레임(Fn) 각각을 상위 필드(TF1~TFn)와 하위 필드(BF1~BFn)로 나누어 리드할 수 있다(S20).
인코딩 모듈(300)은 인코딩 데이터(ED)의 필드 영상이 상위 필드(TF1~TFn)인 경우(S30의 Yes 경로), 상위 필드(TF1~TFn)를 인트라 모드에 따라 인코딩한다(S40).
인코딩 모듈(300)은 인코딩 데이터(ED)의 필드 영상이 하위 필드(BF1~BFn)인 경우(S30의 No 경로), 하위 필드(BF1~BFn)를 인터 모드에 따라 인코딩한다(S50).
인코딩이 완료된 제1 프레임 내지 제n 프레임(F1~Fn) 각각의 필드 영상들은 CPU(110)의 제어에 따라 RAM(130)에 저장될 수 있다. 사용자에 의해 선택되는 특정 프레임이 디스플레이 장치(165)로 출력되어야 할 경우, CPU(110)는 RAM(130)에 저장된 상기 특정 프레임에 대응하는 제1 영상 그룹 내지 제n 영상 그룹(IG1~IGn) 중 어느 하나의 그룹만을 디코더(400)로 전송할 수 있다. 디코더(400)는 상기 어느 하나의 그룹 만을 기초로 디코딩을 수행하여 그에 대응하는 제1 프레임 내지 제n 프레임(F1~Fn) 중 어느 한 프레임을 복호화할 수 있다(S60).
코덱(140)은 복호화된 상기 프레임을 디스플레이 장치(165)에서 요구하는 특정 포맷(예컨대, JPEG 포맷)으로 변환하여 출력할 수 있다(S70).
본 발명의 실시예에 따른 애플리케이션 프로세서(100)에 의하면, 정지 화상 그룹의 인코딩시 높은 압축률을 가지면서도 프레임 별로 랜덤 액세스가 가능한 데이터를 생성할 수 있다.
또한, 본 발명의 실시예에 따른 애플리케이션 프로세서(100)에 의하면, 기존의 H.264 표준을 지원하는 인코더와 디코더를 이용하면서도 정지 화상 그룹에 대한 처리 성능이 향상될 수 있다.
도 9는 본 발명의 다른 실시 예에 따른 데이터 처리 시스템의 구성 블록도이다.
도 9를 참조하면, 데이터 처리 시스템은 비디오 호스팅 서비스 장치(20), 제1 장치(41), 및 제2 장치(43)을 포함한다.
제1 장치(41)는 PC로 구현될 수 있고, 제2 장치(43)는 휴대용 전자 장치로 구현될 수 있다. 각 장치(20, 41, 및 43)는 네트워크(30)를 통해 서로 통신할 수 있다. 실시 예에 따라, 네트워크(30)의 구조(architecture)는 다양하게 변형될 수 있다. 예컨대, 네트워크(30)는 유선 인터넷, 무선 인터넷, 또는 이동 통신망으로 구현될 수 있다.
비디오 호스팅 서비스 장치(20)는 비디오 소스(21)와 인코더(200)를 포함한다.
인코더(200)는 비디오 소스(21)로부터 소스 영상 데이터를 수신한다. 인코더(200)는 소스 영상 데이터를 인코딩하여 인코딩된 비트 스트림을 생성한다.
인코더(200)는 도 1, 도 2, 또는 도 6에 도시된 인코더(200, 200a, 또는 200b)일 수 있다.
인코딩된 비트 스트림은 네트워크(30)를 통해 제1 장치(41)와 제2 장치(43)로 전송될 수 있다.
네트워크(30)로 전송된 인코딩된 비트 스트림은 제1 장치(41), 및/또는 제2 장치(43)로 전송될 수 있다. 각 장치(41 과 43)는 개인용 컴퓨터, 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, 랩탑(laptop) 컴퓨터, PDA(personal digital assistant), EDA(enterprise digital assistant), PMP(portable multimedia player), PDN(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 모바일 인터넷 장치(mobile internet device(MID)), 또는 e-북(e-book)으로 구현될 수 있다.
제1 장치(41)는 디코더(400)와 디스플레이(51)를 포함하고, 제2 장치(43)는 디코더(400)와 디스플레이(53)를 포함한다. 디코더(400)는 도 1 또는 도 7에 도시된 디코더(400)일 수 있다.
각 디코더(400)는 네트워크(30)로부터 전송된 인코딩된 비트 스트림을 수신하여 디코딩하고 디코딩된 데이터를 대응되는 디스플레이(51과 53)로 출력할 수 있다.
도 10은 본 발명의 일 실시예에 따른 데이터 인코딩 방법을 설명하기 위한 흐름도이다. 도 10의 데이터 인코딩 방법은 도 1, 도 2, 도 6, 또는 도 9에 도시된 인코더(200, 200a, 또는 200b)에 의해 수행될 수 있다.
도 10을 참조하면, 인코더(200, 200a, 또는 200b)는 소스 프레임을 수신한다(S110). 소스 프레임은 한 프레임에 해당하는 이미지 데이터로서, 상술한 바와 같이, 사용자에 의해 선택된 버스트 샷 모드에 의해 생성된 정지 화상 그룹(제1 프레임(F1) 내지 제n 프레임(Fn)을 포함) 중 하나의 프레임일 수도 있고, 비디오 소스(21)로부터 출력되는 소스 영상 데이터 중 하나의 프레임일 수도 있다.
인코더(200, 200a, 또는 200b)는 소스 프레임을 필드 모드에 따라 필드별로 리드(read)하여 제1 필드 데이터와 제2 필드 데이터를 생성한다(S120).
제1 필드 데이터는 상술한 상위 필드(TF1~TFn)에 해당하고, 제2 필드 데이터는 상술한 하위 필드(BF1~BFn)에 해당할 수 있다.
인코더(200, 200a, 또는 200b)는 제1 필드 데이터를 인트라 모드에 따라 인코딩하고(S130), 제2 필드 데이터를 인터 모드에 따라 인코딩한다(S140).
인코더(200, 200a, 또는 200b)는 인코딩된 데이터, 즉 인코딩된 비트 스트림(BS)을 메모리에 저장하거나, 또는 다른 장치로 전송할 수 있다(S150)
도 11은 본 발명의 일 실시예에 따른 데이터 디코딩 방법을 설명하기 위한 흐름도이다. 도 11의 데이터 디코딩 방법은 도 1, 도 7, 또는 도 9에 도시된 디코더(400)에 의해 수행될 수 있다.
도 11을 참조하면, 디코더(400)는 인코딩된 데이터, 즉 인코딩된 비트 스트림(BS)을 메모리로부터 독출하거나 또는 다른 장치로부터 수신할 수 있다(S210).
디코더(400)는 인코딩된 데이터를 필드 모드에 따라 디코딩하여 제1 필드 데이터와 제2 필드 데이터를 복원한다(S220). 예컨대, 디코더(400)는 제1 필드 데이터를 복원하기 위하여, 인코딩된 데이터를 인트라 모드(intra mode)로 디코딩하고, 제2 필드 데이터를 복원하기 위하여, 인코딩된 데이터를 인터 모드(inter mode)로 디코딩할 수 있다.
디코더(400)는 제1 필드 데이터와 제2 필드 데이터를 재배열하여 소스 프레임을 복원한다(S230).
예컨대, 디코더(400)는 제1 필드 데이터는 소스 프레임의 홀수 번째 행들(행 번호가 0, 2, 4, ...인 행들)이 되도록, 그리고, 제2 필드 데이터는 소스 프레임의 짝수 번째 행들(행 번호가 1, 3, 5, ...인 행들)이 되도록 제1 필드 데이터의 한 행(row)과 제1 필드 데이터의 한 행(row)을 교대로 읽어 재배열함으로써, 소스 프레임을 복원할 수 있다.
도 12는 본 발명의 또 다른 실시 예에 따른 데이터 처리 시스템의 블록도이다.
도 12를 참조하면, 시스템(500)은 송신기(510)와 수신기(530)를 포함한다. 송신기(510)와 수신기(530) 각각은 이동 전화기, 스마트 폰(smart phone), 또는 태블릿(tablet) PC일 수 있다.
송신기(510)는 AP(512), 디스플레이(520), 카메라 모듈(518), 외부 메모리 (516), 및 무선 송수신기(514)를 포함한다. AP(512), 디스플레이(520), 카메라 모듈(518) 및 외부 메모리(516) 각각의 동작과 기능은 도 1에 도시된 AP(100), 디스플레이(165), 카메라(155) 및 메모리(175)의 동작과 기능과 유사하므로 이에 대한 자세한 설명은 생략한다.
AP(512)는 인코더(200)를 포함한다. 무선 송수신기(514)는 안테나(ANT1)를 통하여 인코딩된 비트 스트림을 수신기(530)로 전송할 수 있다. 송신기(510)는 수신기로도 동작할 수 있다.
수신기(530)는 AP(532), 디스플레이(540), 카메라 모듈(538), 외부 메모리 (536), 및 무선 송수신기(534)를 포함한다. AP(532), 디스플레이(540), 카메라 모듈(538) 및 외부 메모리(536) 각각의 동작과 기능은 도 1에 도시된 AP(100), 디스플레이(165), 카메라(155) 및 메모리(175)의 동작과 기능과 유사하므로 이에 대한 자세한 설명은 생략한다.
AP(532)는 디코더(400)를 포함할 수 있다. 무선 송수신기(534)는 안테나(ANT2)를 통하여 인코딩된 비트 스트림을 송신기(510)로부터 수신할 수 있다. 수신기(530)는 송신기로도 동작할 수 있다.
디코더(400)는 이미지 데이터를 디스플레이(540)에 디스플레이하기 위해 인코딩된 비트 스트림을 디코딩하고, 디코딩된 이미지 데이터를 디스플레이(540)로 출력할 수 있다.본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
인코더(200)
소스 리드 유닛(250)
이미지 타입 결정 블록(270)
인코딩 모듈(300)

Claims (19)

  1. 모드 선택 신호(mode selection signal)에 의해 결정되는 필드 모드(field mode)에 따라 정지 화상 그룹에 속하는 제1 프레임을 상위 필드(top field)와 하위 필드(bottom field)로 나누어 리드(read)하는 소스 리드 유닛; 및
    상기 필드 모드에 따라, 상기 상위 필드를 인트라 모드(intra mode)로 인코딩하고 상기 하위 필드를 인터 모드(inter mode)로 인코딩하는 인코딩 모듈을 포함하는 멀티미디어 코덱.
  2. 제1항에 있어서,
    상기 인트라 모드로 인코딩된 상기 상위 필드, 및 상기 인터 모드로 인코딩된 상기 하위 필드를 기초로 상기 제1 프레임을 디코딩하는 디코더(decoder)를 더 포함하는 멀티미디어 코덱.
  3. 제2항에 있어서,
    상기 디코더는,
    상기 정지 화상 그룹에 속하는 상기 제1 프레임 내지 제n(n은 2 이상의 정수) 프레임이 상기 인코딩 모듈에 의해 인코딩된 후, 사용자에 의해 선택된 프레임을 디코딩하는 경우, 상기 선택된 프레임만을 기초로 디코딩하는 멀티미디어 코덱.
  4. 제3항에 있어서,
    상기 소스 리드 유닛과 상기 인코딩 모듈을 포함하는 인코더 및 상기 디코더 각각은 H.264 인코더 및 H.264 디코더인 멀티미디어 코덱.
  5. 제1항에 있어서,
    상기 상위 필드는 상기 제1 프레임의 홀수 번째 행들에 포함된 픽셀들의 집합이고, 상기 하위 필드는 상기 제1 프레임의 짝수 번째 행들에 포함된 픽셀들의 집합인 멀티미디어 코덱.
  6. 제1항에 있어서,
    상기 정지 화상 그룹은 상기 제1 프레임 내지 제n(n은 2 이상의 정수) 프레임을 포함하고, 버스트 샷 모드(burst shot mode)에 의해 생성되는 연속적인 프레임들의 그룹인 멀티미디어 코덱.
  7. 제1항에 있어서,
    상기 소스 리드 유닛과 상기 인코딩 모듈을 포함하는 인코더는,
    상기 모드 선택 신호(MS)에 따라 상기 필드 모드 또는 프레임 모드(frame mode)로 동작하는 멀티미디어 코덱.
  8. 제1 프레임 내지 제n(n은 2 이상의 정수) 프레임을 포함하는 정지 화상 그룹을 저장하는 메모리;
    상기 정지 화상 그룹을 인코딩하기 위한 인코딩 모드를 결정하는 모드 선택 신호(mode selection signal)를 생성하는 CPU(Central Processing Unit); 및
    상기 모드 선택 신호에 의해 결정되는 필드 모드(field mode)에 따라 상기 정지 화상 그룹을 인코딩하는 멀티미디어 코덱을 포함하며,
    상기 멀티 미디어 코덱은,
    상기 필드 모드에 따라, 상기 제1 프레임 내지 상기 제n 프레임 각각을 상위 필드(top field)와 하위 필드(bottom field)로 나누어 리드(read)하는 소스 리드 유닛; 및
    상기 필드 모드에 따라, 상기 상위 필드를 인트라 모드(intra mode)로 인코딩하고 상기 하위 필드를 인터 모드(inter mode)로 인코딩하는 인코딩 모듈을 포함하는 애플리케이션 프로세서.
  9. 제8항에 있어서, 상기 멀티미디어 코덱은,
    상기 제1 프레임 내지 상기 제n 프레임 중 사용자에 의해 선택된 프레임을 디코딩하는 디코더를 더 포함하는 애플리케이션 프로세서.
  10. 제9항에 있어서, 상기 디코더는,
    상기 선택된 프레임에 포함된 상기 상위 필드 및 상기 하위 필드를 기초로 상기 선택된 프레임을 디코딩하는 애플리케이션 프로세서.
  11. 제10항에 있어서,
    상기 소스 리드 유닛과 상기 인코딩 모듈을 포함하는 인코더 및 상기 디코더 각각은 H.264 인코더 및 H.264 디코더인 애플리케이션 프로세서.
  12. 제8항에 있어서,
    상기 상위 필드는 상기 제1 프레임 내지 상기 제n 프레임 각각의 홀수 번째 행들에 포함된 픽셀들의 집합이고, 상기 하위 필드는 상기 제1 프레임 내지 상기 제n 프레임 각각의 짝수 번째 행들에 포함된 픽셀들의 집합인 애플리케이션 프로세서.
  13. 제8항에 있어서,
    상기 정지 화상 그룹은 버스트 샷 모드(burst shot mode)에 의해 생성되는 연속적인 프레임들의 그룹인 애플리케이션 프로세서.
  14. 제8항에 있어서,
    상기 인코딩 모드는 상기 필드 모드 또는 프레임 모드(frame mode)를 포함하는 애플리케이션 프로세서.
  15. 메모리가, 제1 프레임 내지 제n(n은 2 이상의 정수) 프레임을 포함하는 정지 화상 그룹을 저장하는 단계;
    소스 리드 유닛이, 모드 선택 신호(mode selection signal)에 의해 결정되는 필드 모드(field mode)에 따라 상기 제1 프레임 내지 상기 제n 프레임 각각을 상위 필드(top field)와 하위 필드(bottom field)로 나누어 리드(read)하는 단계; 및
    인코딩 모듈이, 상기 필드 모드에 따라, 상기 상위 필드를 인트라 모드(intra mode)로 인코딩하고 상기 하위 필드를 인터 모드(inter mode)로 인코딩하는 단계를 포함하는 애플리케이션 프로세서의 동작 방법.
  16. 제15항에 있어서,
    디코더가, 상기 제1 프레임 내지 상기 제n 프레임 중 사용자에 의해 선택된 프레임을 디코딩하는 단계를 더 포함하는 애플리케이션 프로세서의 동작 방법.
  17. 제16항에 있어서, 상기 디코딩하는 단계는,
    상기 선택된 프레임에 포함된 상기 상위 필드 및 상기 하위 필드를 기초로 상기 선택된 프레임을 디코딩하는 애플리케이션 프로세서의 동작 방법.
  18. 제15항에 있어서,
    상기 상위 필드는 상기 제1 프레임 내지 상기 제n 프레임 각각의 홀수 번째 행들에 포함된 픽셀들의 집합이고, 상기 하위 필드는 상기 제1 프레임 내지 상기 제n 프레임 각각의 짝수 번째 행들에 포함된 픽셀들의 집합인 애플리케이션 프로세서의 동작 방법.
  19. 제15항에 있어서,
    상기 정지 화상 그룹은 버스트 샷 모드(burst shot mode)에 의해 생성되는 연속적인 프레임들의 그룹인 애플리케이션 프로세서의 동작 방법.
KR1020150028566A 2015-02-27 2015-02-27 멀티미디어 코덱, 상기 멀티미디어 코덱을 포함하는 애플리케이션 프로세서, 및 상기 애플리케이션 프로세서의 동작 방법 KR20160105203A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020150028566A KR20160105203A (ko) 2015-02-27 2015-02-27 멀티미디어 코덱, 상기 멀티미디어 코덱을 포함하는 애플리케이션 프로세서, 및 상기 애플리케이션 프로세서의 동작 방법
TW105103779A TWI736528B (zh) 2015-02-27 2016-02-04 多媒體編解碼器、包括其之應用處理器、及操作該應用處理器之方法
US15/018,001 US10070139B2 (en) 2015-02-27 2016-02-08 Multimedia codec, application processor including the same, and method of operating the application processor
DE102016203031.0A DE102016203031A1 (de) 2015-02-27 2016-02-26 Multimedia-Codec, Anwendungsprozessor, der diesen umfasst, und Verfahren zum Betreiben des Anwendungsprozessors
CN201610108380.XA CN105933706B (zh) 2015-02-27 2016-02-26 多媒体编解码器、应用处理器和电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150028566A KR20160105203A (ko) 2015-02-27 2015-02-27 멀티미디어 코덱, 상기 멀티미디어 코덱을 포함하는 애플리케이션 프로세서, 및 상기 애플리케이션 프로세서의 동작 방법

Publications (1)

Publication Number Publication Date
KR20160105203A true KR20160105203A (ko) 2016-09-06

Family

ID=56682561

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150028566A KR20160105203A (ko) 2015-02-27 2015-02-27 멀티미디어 코덱, 상기 멀티미디어 코덱을 포함하는 애플리케이션 프로세서, 및 상기 애플리케이션 프로세서의 동작 방법

Country Status (5)

Country Link
US (1) US10070139B2 (ko)
KR (1) KR20160105203A (ko)
CN (1) CN105933706B (ko)
DE (1) DE102016203031A1 (ko)
TW (1) TWI736528B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190043825A (ko) * 2017-10-19 2019-04-29 삼성전자주식회사 멀티 코덱 인코더 및 이를 포함하는 멀티 코덱 인코딩 시스템

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3713235B1 (en) * 2019-03-19 2023-08-02 Axis AB Methods and devices for encoding a video stream using a first and a second encoder
WO2023200217A1 (ko) * 2022-04-11 2023-10-19 엘지전자 주식회사 템플릿 매칭을 이용하는 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5212549A (en) 1991-04-29 1993-05-18 Rca Thomson Licensing Corporation Error concealment apparatus for a compressed video signal processing system
JP3357920B2 (ja) * 1991-07-03 2002-12-16 株式会社日立製作所 バス制御方式及びそのシステム
JPH08331567A (ja) * 1995-06-02 1996-12-13 Sony Corp 画像情報符号化装置、画像情報復号化装置及び画像情報記録再生システム
JP3633204B2 (ja) * 1997-05-14 2005-03-30 ソニー株式会社 信号符号化装置、信号符号化方法、信号記録媒体及び信号伝送方法
JPH1141609A (ja) 1997-07-23 1999-02-12 Hitachi Ltd 信号処理装置
JP3778721B2 (ja) * 1999-03-18 2006-05-24 富士通株式会社 動画像符号化方法および装置
US20040120398A1 (en) * 2002-12-19 2004-06-24 Ximin Zhang System and method for adaptive field and frame video encoding using rate-distortion characteristics
US7426308B2 (en) * 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding
US20060170786A1 (en) 2005-01-31 2006-08-03 Nara Won Digital camera and method
JP5017825B2 (ja) * 2005-09-15 2012-09-05 ソニー株式会社 復号装置および復号方法
KR100761834B1 (ko) * 2006-01-13 2007-09-28 삼성전자주식회사 화면의 라인들을 복수개의 메모리에 나누어 저장하는비디오 디코딩 장치, 비디오 디코딩 방법 및 기준화면 저장방법
KR100809296B1 (ko) * 2006-02-22 2008-03-04 삼성전자주식회사 타입이 일치하지 않는 하위 계층의 정보를 사용하여인터레이스 비디오 신호를 인코딩/디코딩 하는 방법 및장치
US8687691B1 (en) 2006-04-17 2014-04-01 Motorola Mobility Llc Image sliced high definition scalable array encoding system and method
US20080101473A1 (en) * 2006-10-26 2008-05-01 Matsushita Electric Industrial Co., Ltd. Transcoding apparatus and transcoding method
KR101323733B1 (ko) 2006-12-29 2013-10-31 삼성전자주식회사 고속 고화질 연사 기능을 가지는 영상 입력 장치 및 이를이용한 연사 방법
JP2009055542A (ja) * 2007-08-29 2009-03-12 Toshiba Corp 動画像符号化装置および動画像符号化方法
CN101389018B (zh) * 2007-09-14 2010-12-08 华为技术有限公司 一种图像编/解码方法、装置及一种图像处理方法、系统
US8520730B2 (en) 2007-11-28 2013-08-27 Panasonic Corporation Picture coding method and picture coding apparatus
BRPI1009952A2 (pt) 2009-01-19 2020-02-18 Panasonic Intellectual Property Corporation Of America Método de codificação, método de decodificação, aparelho de codificação, aparelho de decodificação, programa e circuito integrado
US20100302394A1 (en) * 2009-05-28 2010-12-02 Phanish Hanagal Srinivasa Rao Blinked eye artifact removal for a digital imaging device
CA2824164A1 (en) 2011-03-10 2012-09-13 Nippon Telegraph And Telephone Corporation Quantization control apparatus and method, and quantization control program
JP2012217106A (ja) 2011-04-01 2012-11-08 Sanyo Electric Co Ltd 画像処理装置
JP5759269B2 (ja) * 2011-06-01 2015-08-05 株式会社日立国際電気 映像符号化装置
KR101817653B1 (ko) * 2011-09-30 2018-01-12 삼성전자주식회사 디지털 촬영 장치, 그 제어 방법, 및 컴퓨터 판독가능 저장매체
JP2013168809A (ja) 2012-02-15 2013-08-29 Canon Inc 画像処理装置、画像処理方法、プログラム、及び記憶媒体
KR101969424B1 (ko) * 2012-11-26 2019-08-13 삼성전자주식회사 촬영된 이미지를 표시하는 촬영 장치 및 그 촬영 방법
JP6022060B2 (ja) * 2013-06-12 2016-11-09 三菱電機株式会社 画像符号化装置及び画像符号化方法
KR20150023148A (ko) * 2013-08-23 2015-03-05 삼성전자주식회사 전자기기에서 이미지를 관리하는 방법 및 장치
KR20150028566A (ko) 2013-09-06 2015-03-16 대한민국(산림청 국립산림과학원장) 리그닌 분해효소의 고정화 방법 및 상기 방법에 의해 얻은 고정화된 리그닌 분해효소를 이용한 염료 탈색방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190043825A (ko) * 2017-10-19 2019-04-29 삼성전자주식회사 멀티 코덱 인코더 및 이를 포함하는 멀티 코덱 인코딩 시스템

Also Published As

Publication number Publication date
US10070139B2 (en) 2018-09-04
CN105933706A (zh) 2016-09-07
CN105933706B (zh) 2020-06-23
TW201633786A (zh) 2016-09-16
DE102016203031A1 (de) 2016-09-01
US20160255349A1 (en) 2016-09-01
TWI736528B (zh) 2021-08-21

Similar Documents

Publication Publication Date Title
KR102442931B1 (ko) 비디오 코딩을 위한 방법 및 장치
JP6141355B2 (ja) ビデオコード化における量子化
US9516349B2 (en) Pixel-based intra prediction for coding in HEVC
KR101095938B1 (ko) 적응적 스캐닝을 이용한 동영상 부호화/복호화 장치 및 그 방법
US10291925B2 (en) Techniques for hardware video encoding
JP2019505143A (ja) ビデオコーディングのためにブロックの複数のクラスのためのフィルタをマージすること
US20140241435A1 (en) Method for managing memory, and device for decoding video using same
CN107231557B (zh) 用于在视频编码中的高级帧内预测的递归块分区中的智能重排的编、解码方法及装置
JP2012124896A (ja) 低遅延階層のbグループを有するピクチャ構造を用いた動画像符号化の方法及び装置
KR20200140373A (ko) 비디오 코딩을 위한 방법 및 장치
CN111277828B (zh) 视频编解码方法、视频编码器和视频解码器
US11509919B2 (en) Reference sample memory size restrictions for intra block copy
WO2020103593A1 (zh) 一种帧间预测的方法及装置
EP3906686A1 (en) Method and apparatus for video coding
US20220014744A1 (en) Adaptive coding of prediction modes using probability distributions
JP2023107799A (ja) ビデオピクチャの復号および符号化の方法ならびに装置
KR20200139215A (ko) 서브-블록 기반 시간 움직임 벡터 예측을 위한 방법 및 장치
KR102609215B1 (ko) 비디오 인코더, 비디오 디코더, 및 대응하는 방법
US20160029034A1 (en) Edge-selective intra coding
JP2022515555A (ja) インター予測の方法および装置、並びに対応するエンコーダおよびデコーダ
CN105933706B (zh) 多媒体编解码器、应用处理器和电子装置
CN113170141B (zh) 帧间预测方法和相关装置
JP2023546962A (ja) 成分間のブロック終了フラグの符号化
KR20220158054A (ko) 비디오 코딩을 위한 방법 및 장치
CN111277840B (zh) 变换方法、反变换方法以及视频编码器和视频解码器

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application