KR20160067032A - 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법 및 인코더 - Google Patents

프레임들의 시퀀스를 비디오 인코딩하기 위한 방법 및 인코더 Download PDF

Info

Publication number
KR20160067032A
KR20160067032A KR1020150164032A KR20150164032A KR20160067032A KR 20160067032 A KR20160067032 A KR 20160067032A KR 1020150164032 A KR1020150164032 A KR 1020150164032A KR 20150164032 A KR20150164032 A KR 20150164032A KR 20160067032 A KR20160067032 A KR 20160067032A
Authority
KR
South Korea
Prior art keywords
frames
frame
region
interest
encoding
Prior art date
Application number
KR1020150164032A
Other languages
English (en)
Other versions
KR101715833B1 (ko
Inventor
지안단 첸
마르쿠스 스칸스
윌리에 베트쉬아트
미카엘 펜드세
알렉산드레 마르틴스
Original Assignee
엑시스 에이비
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엑시스 에이비 filed Critical 엑시스 에이비
Publication of KR20160067032A publication Critical patent/KR20160067032A/ko
Application granted granted Critical
Publication of KR101715833B1 publication Critical patent/KR101715833B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/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/167Position within a video image, e.g. region of interest [ROI]
    • 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
    • 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/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/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Abstract

프레임들의 시퀀스를 비디오 인코딩하기 위한 방법 및 인코더가 제공된다. 이러한 방법은, 움직이는 물체(414)를 표현하는 프레임들의 시퀀스를 수신하는 단계(S02)와; 제 1 시점과 제 2 시점 사이에서 프레임들의 시퀀스에서의 움직이는 물체의 움직임을 예측하는 단계(S04)와; 제 1 시점과 제 2 시점 사이에서 이러한 움직이는 물체의 전체 예측된 움직임 동안 그 움직이는 물체를 포함하는 프레임들 내에서의 관심있는 영역을 움직이는 물체의 예측된 움직임에 근거하여 정의하는 단계(S06)와; 그리고 관심있는 영역에서 (제 1 시점에 대응하는) 제 1 프레임을 인코딩함과 아울러 관심있는 영역 중 적어도 일부 영역에서 (제 1 시점과 제 2 시점 중간에 있는 시점들에 대응하는) 하나 이상의 중간 프레임들을 인코딩하되 관심있는 영역의 어떤 부분에서 어떤 인코딩 품질을 사용할 것인지를 정의하는 공통의 인코딩 품질 패턴을 사용하여 제 1 프레임 및 하나 이상의 중간 프레임들을 인코딩하는 단계(S08)를 포함한다.

Description

프레임들의 시퀀스를 비디오 인코딩하기 위한 방법 및 인코더{METHOD AND ENCODER FOR VIDEO ENCODING OF A SEQUENCE OF FRAMES}
본 발명은 비디오 인코딩(video encoding) 분야에 관한 것이다. 특히, 본 발명은 프레임들(frames)의 시퀀스(sequence)를 인코딩(encoding)하기 위한 방법 및 인코더(encoder)에 관한 것이다.
H.264 혹은 더 일반적으로는 H.26x 표준 하에서의 비디오 인코딩과 같은 알려진 비디오 인코딩 방법들은 비디오 프레임(video frame)의 영역들에서 국소적으로 압축 레벨(compression level)들을 수정할 수 있도록 한다. 예를 들어, 임의의 물체(object)를 나타내는 관심있는 영역(Region Of Interest, ROI)에 대한 압축 레벨을 조정함으로써 이미지 품질(image quality)이 개선될 수 있다. 이것은 또한 움직이는 물체(moving object)들이 존재하는 비디오 시퀀스들에도 적용될 수 있다.
이것은 미국 특허 번호 US 8,150,173 B2의 주제인데, 이러한 미국 특허 문헌은 예를 들어, 움직이는 물체들을 갖는 비디오 시퀀스들에 대해, 프레임 당 하나의 ROI가 정의될 수 있음을 가르쳐 주고 있다. 대안적으로, ROI의 시작 위치 및 크기가 특정될 수 있고, 그 다음에 그 특정된 ROI는 비디오 시퀀스에서 물체의 움직임을 추적할 수 있다.
관심있는 물체 상에서 혹은 그 둘레에서의 압축 아티팩트(compression artefact)들을 감소시킬 목적으로, ROI는 일반적으로 관심있는 물체를 포함할 뿐만 아니라 배경(background)의 일부도 또한 포함한다. 배경 중 이러한 부분은 물체가 움직일 때 매 프레임마다 변하게 된다. 결과적으로, 배경 중 임의의 특정 부분을 인코딩하기 위해 사용되는 압축 레벨은 물체가 지나가 버리는 경우 변하게 되며, 때로는 만약 물체가 흔들거리며 움직이고 있다면 몇 번 더 변하게 된다. 이것은 비디오 시퀀스를 인코딩하기 위해 필요한 비트 레이트(bitrate)를 크게 증가시킬 것인데, 왜냐하면 배경 중 그 특정 부분은 상이한 압축 레벨로 여러 번 다시-인코딩될 필요가 있기 때문이다. 따라서 이에 대한 개선이 필요하다.
따라서, 위와 같은 상황을 고려하여, 본 발명의 목적은 앞서 논의된 문제들을 극복하거나 혹은 적어도 경감시키려는 것이다. 특히, 본 발명의 목적은 물체가 지나가 버림에 따라 배경을 여러 번 다시-인코딩해야하는 필요성을 감소시키는 인코딩 방법 및 인코더를 제공하는 것이다.
본 발명의 제 1 실시형태에 따르면, 앞서의 목적은 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법에 의해 달성되며, 이러한 방법은,
움직이는 물체를 표현하는 프레임들의 시퀀스를 수신하는 단계와, 여기서 시퀀스는 제 1 시점(time point)에 대응하는 제 1 프레임, 그리고 더 늦은 제 2 시점에 대응하는 제 2 프레임, 그리고 제 1 시점과 제 2 시점 중간에 있는 하나 이상의 시점들에 대응하는 하나 이상의 중간 프레임들을 포함하며;
제 1 시점과 제 2 시점 사이에서 프레임들의 시퀀스에서의 움직이는 물체의 움직임을 예측하는 단계와;
제 1 시점과 제 2 시점 사이에서 이러한 움직이는 물체의 전체 예측된 움직임 동안 그 움직이는 물체를 포함하는 프레임들 내에서의 관심있는 영역을 움직이는 물체의 예측된 움직임에 근거하여 정의하는 단계와; 그리고
관심있는 영역에서 제 1 프레임을 인코딩함과 아울러 관심있는 영역 중 적어도 일부 영역에서 하나 이상의 중간 프레임들을 인코딩하되 관심있는 영역의 어떤 부분에서 어떤 인코딩 품질을 사용할 것인지를 정의하는 공통의 인코딩 품질 패턴(common encoding quality pattern)을 사용하여 제 1 프레임 및 하나 이상의 중간 프레임들을 인코딩하는 단계를 포함하고,
여기서 특정 중간 프레임에 대해, 관심있는 영역 중 일부 영역은 그 특정 중간 이미지 프레임(intermediate image frame)에 대응하는 시점과 제 2 시점 사이에서 물체의 전체 예측된 움직임 동안 물체를 포함한다.
앞서의 방법을 통해, 제 1 프레임과 하나 이상의 중간 프레임들 각각을 인코딩할 때 사용되는 단일 ROI을 정의하기 위해 물체의 움직임이 예측되고 사용된다. 따라서, 종래 기술과는 달리, 본 발명의 ROI는 프레임들 간에 변하지 않는다.
ROI는 제 1 시점과 제 2 시점 사이에서 이러한 움직이는 물체의 전체 예측된 움직임 동안 그 움직이는 물체를 포함하도록 정의된다. 달리 말하면, 이렇게 정의된 ROI는 제 1 프레임 및 하나 이상의 중간 프레임들 내에서 물체를 포함할 것으로 예상된다. 따라서, 움직이는 물체 그리고 그 움직이는 물체 근처에 있는 배경 픽셀들은 제 1 프레임 내의 ROI 내에서 발견될 것으로 예상될 뿐만 아니라 하나 이상의 중간 프레임들 내의 ROI 내에서 발견될 것으로 예상된다.
제 1 프레임 및 하나 이상의 중간 프레임들을 인코딩할 때, ROI에 대해 혹은 적어도 ROI 중 일부 영역에 대해 공통의(즉, 동일한) 인코딩 품질 패턴이 사용된다. 이것이 의미하는 바는, ROI 내에 있는 배경의 특정 부분에 대해, 언제나 동일한 인코딩 품질이 사용될 것임을 의미하거나, 혹은 물체가 지나가 버림에 따라 인코딩 품질은 많아야 한 번 변경될 것임을 의미하며, 그럼으로써 다시-인코딩을 해야할 필요성이 감소되게 됨을 의미한다.
예를 들어, 제 1 프레임에 대해서뿐만 아니라 하나 이상의 중간 프레임들 각각에 대해서 전체 ROI에 대해 공통의 인코딩 품질 패턴이 사용되는 경우, ROI의 배경 부분을 다시-인코딩할 필요가 없다. 다른 실시예들에 따르면, 공통의 인코딩 품질 패턴은 하나 이상의 중간 프레임들을 인코딩할 때 ROI 중 일부 영역에 적용된다. 이러한 상황에 있어서, 특정 중간 프레임에 대해, ROI 중 일부 영역은 제 2 시점까지 물체의 예측된 나머지 움직임 동안 물체를 포함할 수 있는데, 즉, ROI 중 일부 영역은 제 2 시점까지 그 특정 중간 프레임 및 각각의 후속하는 중간 프레임 내에서의 물체를 포함할 것으로 예상된다. 이러한 경우에, 배경의 특정 부분은 물체가 지나가 버림에 따라 많아야 한 번 다시-인코딩될 필요가 있다.
본 명세서에서 사용되는 바와 같은 프레임들의 시퀀스는 이미지 프레임들의 시퀀스를 말한다. 프레임들의 시퀀스는 전형적으로 예를 들어, 카메라에 의해 촬영됨에 따라 순차적으로 수신됨에 유의해야만 한다.
본 명세서에서 사용되는 바와 같은 움직이는 물체의 움직임을 예측하는 것은 일반적으로 일정 시기까지 수신된 프레임들에 근거하여 움직임을 예측하는 것을 말한다. 전형적으로, 이것은 제 1 시점 이전의 시점들에 대응하는 프레임들을 포함한다. 이것은 또한 제 1 시점을 포함할 수 있다. 그러나, 예측이 수행되는 시점에서, 하나 이상의 중간 프레임들은 전형적으로 아직 수신되지 않게 된다. 하나 이상의 중간 프레임들의 수신 이전에 움직임의 예측을 시작함으로써, 인코딩 프로세스에서의 대기시간(latencies)이 감소될 수 있다.
본 명세서에서 사용되는 바와 같은 어구 "제 1 시점과 제 2 시점 사이"에 의해 정의되는 시구간은 제 1 시점을 포함하고 아울러 하나 이상의 중간 프레임들에 대응하는 시점들도 포함한다. 그러나, 제 2 시점을 반드시 포함하는 것은 아니다. 따라서, 이러한 정의에 의하면, 제 1 시점과 제 2 시점 사이에서 해당하는 움직이는 물체의 전체 예측된 움직임 동안 그 움직이는 물체를 포함하는 정의된 ROI는 제 1 프레임 및 하나 이상의 중간 프레임들 각각에서의 물체를 포함할 것으로 예상되지만 제 2 프레임에서의 물체를 반드시 포함할 것으로 예상되지는 않는다.
유사하게, 특정 중간 이미지 프레임에 대응하는 시점과 제 2 시점 사이에서 물체의 전체 예측된 움직임 동안 물체를 포함하는 관심있는 영역 중 일부 영역은, 그 특정 프레임 및 각각의 후속하는 중간 프레임에서의 물체를 포함할 것으로 예상되지만 제 2 프레임에서의 물체를 반드시 포함할 것으로 예상되지는 않는 그러한 일부 영역이다.
관심있는 영역은 일반적으로 특히 중요한 것으로 판단되는 다수의 픽셀들을 의미한다(예를 들어, 해당 픽셀들이 물체를 나타내기 때문에 중요한 것으로 판단되는 그러한 픽셀들을 의미함). 인코딩 적용시, 프레임은 (예를 들어, 16x16 픽셀들의 고정된 크기를 갖는) 매크로 블록(macro block)들로 분할될 수 있다. 관심있는 영역은 특히 중요한 것으로 발견된(예를 들어, 물체를 나타내기 때문에 중요한 것으로 발견된) 이러한 매크로 블록들의 세트로서 구성될 수 있다
본 명세서에서 사용되는 바와 같은 인코딩 품질 패턴은 전형적으로 인코딩 품질의 공간적 패턴 혹은 함수를 말한다. 특히, 인코딩 품질 패턴은 관심있는 영역의 어떤 부분에서 어떤 인코딩 품질이 사용될 것인지를 정의한다.
일부 실시예들에서, 인코딩 품질은 ROI 전체에 걸쳐 일정하도록 설정된다. 달리 말하면, 인코딩 품질 패턴은 관심있는 영역 전체에서 사용될 단일 인코딩 품질을 정의할 수 있다. 인코딩 품질에서의 보다 더 적은 변화는, 다른 코딩 블록들로부터 더 많은 코딩 블록들을 예측할 수 있게 한다는 점, 그럼으로써 코딩 효율이 증가하게 된다는 점에서 이로운 것이다.
다른 실시예들에서, 인코딩 품질 패턴은 관심있는 영역의 서로 다른 일부분들에서 사용될 상이한 인코딩 품질들을 정의할 수 있다. 이것은 더 큰 융통성(flexibility)을 가능하게 한다. 예를 들어, 일반적으로 더 낮은 이미지 품질을 가질 것으로 예상되는 프레임들의 일부분들(예를 들어, 프레임들의 주변 부분들)에 대응하는 ROI의 일부분들에서 인코딩 품질은 더 낮게 설정될 수 있다.
인코딩 품질은 일반적으로 압축 레벨에 대응할 수 있다. 압축 레벨이 낮으면 전형적으로 인코딩 품질은 높아지며, 그 반대의 경우도 성립한다. H.264 코덱(codec)과 같은 일부 코덱들에서, 압축 레벨은 양자화 파라미터(Quantization Parameter)(QP 값)를 고려하여 부여된다. 따라서, 인코딩 품질은 또한, 양자화 파라미터에 대응할 수 있다.
이후 부분에서 더 논의되는 바와 같이, H-264 표준과 같은 일부 비디오 압축 표준들은 인트라 프레임들(intra frames)(예를 들어, I-프레임들), 및 인터 프레임들(inter frames)(예를 들어, P-프레임들 혹은 B-프레임들)을 고려하여 구현되는 시간적 비디오 압축을 규정한다. 인트라-프레임은 기본적으로 인코딩될 이미지 프레임에서의 정보만을 사용하여 인코딩되는 이미지 프레임이다. 더욱이, 인트라-프레임은 인코딩될 이미지 프레임에 대해 촬영된 모든 이미지 데이터로부터 계산된다. 인터-프레임들(이들은 또한 예측 프레임들(predictive frames)로서 지칭되거나 혹은 차등 프레임들(differential frames)로서 지칭됨)은 이전에 인코딩된 이미지 프레임들로부터의 정보를 기반으로 할 뿐만 아니라 현재 인코딩된 프레임의 정보를 기반으로 하는데, 즉 인터-프레임은 이전의 이미지 프레임들에서의 시간적 리던던트 정보(temporally redundant information)를 이용하는 것으로서 설명될 수 있다.
본 발명의 실시예들에 따르면, 제 1 프레임은 인트라-프레임으로서 인코딩될 수 있다. 더욱이, 하나 이상의 중간 프레임들은 인터-프레임들로서 인코딩될 수 있다. 전형적으로, 배경 픽셀은 프레임들 간에 크게 변하지 않는다. 따라서, 중간 프레임들을 인터-프레임들로서 인코딩함으로써, 배경 픽셀들은 전형적으로 각각의 프레임에 대해 다시-인코딩될 필요가 없는데, 특히 인코딩 품질 패턴이 특정 배경 픽셀에 대해 시간 경과에 따라 일정한 상태로 유지되는 한 다시-인코딩될 필요가 없다.
일부 실시예들에서, 하나 이상의 중간 프레임들 중 적어도 일부는 공통의 인코딩 품질 패턴을 사용하여 (단지 관심있는 영역 중 일부 영역이 아닌) 관심있는 영역 전체에서 인코딩된다. 이것은 하나 이상의 중간 프레임들 각각이 공통의 인코딩 품질 패턴을 사용하여 관심있는 영역 전체에서 인코딩되는 그러한 경우를 포함한다. 이것은 관심있는 영역 내에 있는 배경을 다시-인코딩하는 것을 전적으로 피할 수 있다는 점에서 이로운 것이다.
일반적으로, 임의의 프레임은 ROI 내부의 인코딩 품질을 해당 프레임의 나머지와 비교해(적어도 ROI의 주변과 비교해) 더 높게 하여 인코딩된다. 그러나, 더 높은 인코딩 품질에서 인코딩을 하면 비트 레이트가 증가되는 희생이 따르게 된다. 이러한 것은 만약 ROI가 넓은 영역이라면 특히 그러하다. 따라서, 이러한 관점에서, 인코딩될 각각의 프레임에 대해 ROI를 가능한 한 작은 상태로 유지시키는 것이 좋다. 그러나, 물체가 지나가 버림에 따라 배경을 다시-인코딩할 필요가 없어짐으로써 비트 레이트를 절약할 수 있는 관점에서 보면, 제 1 시점과 제 2 시점 사이에서 물체의 전체 움직임 동안 물체를 포함하는 ROI를 갖는 것 그리고 앞에서 설명된 바와 같이 공통의 인코딩 품질 패턴을 사용하여 전체 ROI에서 각각의 프레임을 인코딩하는 것은 좋다. 따라서, 고려해야할 상충-관계(trade-off)가 존재한다.
일부 실시예들에서, 이러한 상충-관계는 (전체 ROI가 아닌) ROI 중 일부 영역에서 하나 이상의 중간 프레임들을 인코딩하되 공통의 인코딩 품질 패턴을 사용하여 중간 프레임들을 인코딩함으로써 고려된다. 이것은 인코딩될 각각의 중간 프레임에 대해 ROI 중 연속적으로 더 작아지는 일부 영역이 공통의 인코딩 품질 패턴을 사용하여 인코딩되게 되는 축소 절차(shrinking procedure)에 의해 달성될 수 있다. ROI 중 이러한 일부 영역은 물체가 이미 지나가 버린 ROI의 그러한 부분들에 대응하는 ROI의 일부분을 제거함으로써 결정될 수 있다. 특히, 이것은 각각의 중간 프레임에 대해 그 선행하는 프레임을 인코딩할 때 사용된 ROI의 일부분 혹은 ROI 중 일부 영역이 제거되는 반복적 절차에 따라 수행될 수 있다. 달리 말하면, 제 1 중간 프레임에 대해, 관심있는 영역 중 일부 영역은 관심있는 영역으로부터 일부분을 제거함으로써 결정될 수 있고, 제 1 중간 프레임에 후속하는 각각의 중간 프레임에 대해, 관심있는 영역 중 일부 영역은 그 선행하는 중간 프레임을 인코딩할 때 사용된 관심있는 영역 중 일부 영역으로부터 일부분을 제거함으로써 결정된다.
이러한 절차를 통해서, 중간 프레임들은 ROI 중 연속적으로 더 작아지는 일부 영역에서 공통의 인코딩 품질 패턴(이것은 약간의 비트만을 소비할 것임)을 사용하여 인코딩되며, 그럼으로써 비트 레이트의 소비가 감소되게 된다. 이와 동시에, 결과적으로 발생되는 ROI 중 이러한 일부 영역들은 물체의 나머지 예측된 움직임을 포함하게 되는 그러한 영역들이다. 이것은 결과적으로 ROI 내의 배경이 많아야 한 번 다시-인코딩될 필요만이 있게 한다. 배경 중 특정 부분을 다시-인코딩하는 것은 전형적으로, 물체가 지나가 버린 경우 그리고 배경 중 그 특정 부분이 ROI로부터 제거되는 부분의 일부를 형성할 때, 일어난다.
관심있는 영역으로부터 제거되는 일부분은, 물체의 적어도 일부를 제 1 프레임에서는 포함하지만 제 1 중간 프레임에서는 포함하지 않는 영역에 대응할 수 있고, 선행하는 중간 프레임을 인코딩할 때 사용된 관심있는 영역 중 일부 영역으로부터 제거되는 일부분은, 물체를 선행하는 중간 프레임에서는 적어도 부분적으로 포함하지만 후속하는 중간 프레임에서는 포함하지 않는 영역에 대응할 수 있다. 이러한 방식으로, 특정 중간 프레임에 대해서, 관심있는 영역 중 일부 영역이 그 특정 중간 이미지 프레임에 대응하는 시점과 제 2 시점 사이에서 물체의 전체 예측된 움직임 동안 물체를 포함하도록 하는 것이 달성될 수 있다.
하나 이상의 중간 프레임들 각각에 대해, 이러한 제거된 일부분에서 중간 프레임이 인코딩될 수 있는데 그 제거된 일부분에 대해서 인코딩 품질 패턴이 정의하고 있는 인코딩 품질보다는 낮은 인코딩 품질로 중간 프레임이 인코딩될 수 있다. 이러한 방식으로, 결과적인 총 비트 레이트는 감소될 수 있다.
ROI는 일반적으로 물체의 예측된 움직임에 따라 달라지는 임의의 형상을 가질 수 있다. 예를 들어, ROI는 사각형(rectangle)을 포함할 수 있고, 여기서 사각형의 제 1 치수(dimension) 부분은, 제 1 시점과 제 2 시점 사이에서 프레임들 내의 제 1 방향을 따라 움직일 해당하는 움직이는 물체의 예측된 움직임을 포함하고, 그리고 사각형의 다른 치수 부분은, 제 1 시점과 제 2 시점 사이에서 프레임들 내의 앞서의 제 1 방향과 직교하는 제 2 방향을 따라 움직일 해당하는 그 움직이는 물체의 예측된 움직임을 포함한다. 이러한 것은 구현하기 간단하다는 점에서, 그리고 이와 동시에 물체의 움직임이 두 개의 치수 부분에서 고려된다는 점에서, 이로운 것이다.
사각형의 "제 1 치수 부분"이 의미하는 바는 일반적으로 사각형의 제 1 측면 부분을 의미하며, 사각형의 "다른 치수 부분"이 의미하는 바는 일반적으로 앞서의 제 1 측면 부분과 직교하는 사각형의 또 하나의 다른 측면 부분을 의미한다.
앞서 개시된 방법은 반복적 방식으로 수행될 수 있으며, 이것이 의미하는 바는 제 2 프레임이 인코딩돼야 하는 경우 앞서의 방법이 되풀이될 수 있음을 의미한다. 더 상세히 살펴보면, 본 방법은 또한, 제 2 시점과 이러한 제 2 시점보다 더 늦은 제 3 시점 사이에서 프레임들의 상기 시퀀스에서의 움직이는 물체의 움직임을 예측하는 단계와; 제 2 시점과 제 3 시점 사이에서 이러한 움직이는 물체의 전체 예측된 움직임 동안 그 움직이는 물체를 포함하도록 관심있는 추가 영역을 움직이는 물체의 예측된 움직임에 근거하여 정의하는 단계와; 그리고 제 2 프레임을 인코딩할 때 이러한 관심있는 추가 영역을 사용하는 단계를 포함할 수 있다. 제 2 프레임은 전형적으로 인트라 프레임으로서 인코딩된다.
중간 프레임들에서 관측된 물체를 ROI가 포함하지 않는 경우가 일어날 수 있다(예를 들어, 물체의 움직임을 예측하는 하는 과정에서의 오류로 인해). 이러한 것에 대해서, 본 발명은 또한,
적어도 하나의 중간 프레임에 대해, 해당하는 관심있는 영역이 적어도 하나의 중간 프레임에서 표현되는 움직이는 물체를 포함하는지 여부를 점검하는 단계와, 그리고 만약 포함하지 않는다면,
적어도 하나의 중간 프레임에 대응하는 시점과 더 늦은 제 4 시점 사이에서 프레임들의 시퀀스에서의 움직이는 물체의 움직임을 예측하는 단계와;
하나 이상의 중간 프레임들 중 적어도 하나의 중간 프레임에 대응하는 시점과 제 4 시점 사이에서 이러한 움직이는 물체의 전체 예측된 움직임 동안 그 움직이는 물체를 포함하도록 시퀀스의 프레임들 내에서의 관심있는 영역을 움직이는 물체의 예측된 움직임에 근거하여 다시-정의하는 단계와; 그리고
적어도 하나의 중간 프레임을 인코딩할 때 이러한 다시-정의된 관심있는 영역을 사용하는 단계를 더 포함할 수 있다.
따라서, 이러한 구성을 통해, ROI는 특정 중간 프레임으로부터 다시 시작하여 제 4 시점에 이르게 되는 물체를 포함하도록 다시-정의된다. 이러한 방식으로 물체의 움직임을 예측하는 과정에서의 오류는 보상될 수 있다. 다시-정의된 ROI는 특정 중간 프레임에 후속하는 프레임들을 인코딩할 때 사용될 수 있다. 이러한 방식으로 물체의 움직임을 예측하는 과정에서의 오류는 보상될 수 있다.
본 발명의 제 2 실시형태에 따르면, 앞서의 목적은 컴퓨터-판독가능 매체를 포함하는 컴퓨터 프로그램 제품에 의해 달성되는데, 여기서 컴퓨터-판독가능 매체는, 프로세싱 능력(processing capability)을 갖고 있는 디바이스에 의해 실행될 때 앞서의 제 1 실시형태를 따르는 방법을 수행하도록 되어 있는 컴퓨터 코드 명령(computer code instruction)들을 갖는다.
본 발명의 제 3 실시형태에 따르면, 앞서의 목적은 프레임들의 시퀀스를 비디오 인코딩하기 위한 인코더에 의해 달성되며, 이러한 인코더는,
움직이는 물체를 표현하는 프레임들의 시퀀스를 수신하도록 구성되는 수신기(receiver)와, 여기서 시퀀스는 제 1 시점에 대응하는 제 1 프레임, 그리고 더 늦은 제 2 시점에 대응하는 제 2 프레임, 그리고 제 1 시점과 제 2 시점 중간에 있는 하나 이상의 시점들에 대응하는 하나 이상의 중간 프레임들을 포함하고;
제 1 시점과 제 2 시점 사이에서 프레임들의 시퀀스에서의 움직이는 물체의 움직임을 예측하도록 구성되는 예측 컴포넌트(predicting component)와;
제 1 시점과 제 2 시점 사이에서 이러한 움직이는 물체의 전체 예측된 움직임 동안 그 움직이는 물체를 포함하는 프레임들 내에서의 관심있는 영역을 움직이는 물체의 예측된 움직임에 근거하여 정의하도록 구성되는 관심있는 영역 정의 컴포넌트(region of interest defining component)와; 그리고
인코딩 컴포넌트(encoding component)를 포함하고,
여기서 인코딩 컴포넌트는,
관심있는 영역에서 제 1 프레임을 인코딩함과 아울러 관심있는 영역 중 적어도 일부 영역에서 하나 이상의 중간 프레임들을 인코딩하되 관심있는 영역의 어떤 부분에서 어떤 인코딩 품질을 사용할 것인지를 정의하는 공통의 인코딩 품질 패턴을 사용하여 제 1 프레임 및 하나 이상의 중간 프레임들을 인코딩하도록 구성되고, 여기서 특정 중간 프레임에 대해, 관심있는 영역 중 일부 영역은 그 특정 중간 프레임에 대응하는 시점과 제 2 시점 사이에서 물체의 전체 예측된 움직임 동안 물체를 포함한다.
제 2 실시형태 및 제 3 실시형태는 전반적으로 제 1 실시형태와 동일한 특징들 및 장점들을 갖는다. 본 명세서에서 명백히 달리 기재되지 않는다면 본 발명은 이러한 특징들의 모든 가능한 조합들과 관련되는 것임에 또한 유의해야 한다.
본 발명의 앞서의 목적, 특징 및 장점뿐만 아니라 추가적인 목적, 특징 및 장점은 첨부되는 도면들을 참조하는 본 발명의 바람직한 실시예들의 다음과 같은 예시적이고 비-한정적인 상세한 설명을 통해 더 잘 이해될 것이며, 도면에서 동일한 참조 번호들은 유사한 구성요소들을 위해 사용될 것이다.
도 1은 본 발명의 실시예들에 따른 인코딩 시스템을 도식적으로 예시한다.
도 2는 도 1의 인코딩 시스템의 인코더를 더 상세히 예시한다.
도 3은 본 발명의 실시예들에 따른 프레임들의 시퀀스의 비디오 인코딩을 위한 방법을 나타낸 흐름도이다.
도 4는 움직이는 물체를 표현하는 프레임들의 시퀀스를 도식적으로 예시한다.
본 발명의 실시예들이 제시되어 있는 첨부 도면들을 참조하여 본 발명이 이제 아래에서 더 완전히 설명될 것이다. 본 명세서에서 개시되는 시스템들 및 디바이스들은 이들이 동작하는 동안 설명될 것이다.
도 1은 비디오 카메라(102)를 포함하는 인코딩 시스템(100)을 예시하고 있으며, 비디오 카메라(102)는 비디오 인코더(104)에 동작가능하게 연결되어 있다. 비디오 카메라(102)는 예를 들어, 움직이는 물체(110)(여기서 예시되고 있는 것은 사람임)를 표현하는 프레임들의 비디오 시퀀스(106)를 촬영하도록 구성될 수 있다. 프레임들의 비디오 시퀀스(106)는 인코더(104)로 보내질 수 있고, 인코더(104)는 프레임들의 시퀀스(106)를 인코딩하도록 구성된다. 인코더(104)는 프레임들의 인코딩된 시퀀스(108)를 비트 스트림(bit stream)의 형태로 출력할 수 있다.
인코더(104)는 비디오 카메라(102)로부터 물리적으로 분리되어 있는 유닛을 형성할 수 있다는 것, 혹은 인코더(104)는 카메라(102) 내에 포함될 수 있다는 것을 이해해야 한다.
도 2는 인코더(104)를 더 상세히 예시하고 있다. 인코더(104)는 수신기(202), 예측 컴포넌트(204), 관심있는 영역 정의 컴포넌트(206), 인코딩 컴포넌트(208), 그리고 송신기(210)를 포함한다.
수신기(202)는 비디오 카메라(102)로부터 프레임들의 시퀀스(106)를 수신하도록 구성된다. 수신기(202)는 이러한 프레임들의 시퀀스를 인코딩 컴포넌트(208) 및 예측 컴포넌트(204)에 전달할 수 있다. 예측 컴포넌트(204) 및 인코딩 컴포넌트(208)는 프레임들의 수신된 시퀀스를 적어도 부분적으로 병렬로 프로세싱하도록 구성될 수 있다.
아래에서 더 상세히 예시되는 바와 같이, 예측 컴포넌트(204)는 프레임들의 시퀀스(106)에서의 물체(110)의 움직임을 예측하도록 구성된다. 그 다음에, 이러한 예측된 움직임은, 프레임들의 수신된 시퀀스(106)를 인코딩할 때 인코딩 컴포넌트(208)에 의해 사용될 ROI의 결정시 ROI 정의 컴포넌트(206)를 위한 기반을 형성한다. 송신기(210)는 프레임들의 결과적으로 인코딩된 비디오 시퀀스(108)를 외부 엔티티(external entity)에 예를 들어, 네트워크를 통해 전송하도록 구성된다.
도 2를 참조하여 설명되는 컴포넌트들(202, 204, 206, 208, 210)은 인코더(104)의 기능적 블록들을 나타낸다는 것을 이해해야 한다. 이러한 기능적 블록들은 하드웨어, 혹은 소프트웨어, 혹은 이들의 조합으로 구현될 수 있다. 예를 들어, 인코더(104)는 컴포넌트들(202, 204, 206, 208, 210)의 기능을 구현하도록 구성된 회로를 포함할 수 있다. 대안적으로, 혹은 추가적으로, 인코더(104)는 컴포넌트들(202, 204, 206, 208, 210)의 기능을 구현하도록 구성된 디바이스 혹은 (비-일시적) 컴퓨터-판독가능 매체와 관련되어 있는 프로세서를 포함할 수 있다. 이러한 것을 위해, 컴퓨터-판독가능 매체는 프로세서에 의해 실행될 때 본 명세서에서 개시되는 임의의 방법을 구현하는 컴퓨터 코드 명령들을 저장하도록 구성될 수 있다.
인코더(104)의 동작이 이제 도 1, 도 2, 도 4, 그리고 도 3의 흐름도를 참조하여 설명될 것이다.
단계(S02)에서, 수신기(202)는 비디오 카메라(102)에 의해 촬영된 인코딩될 프레임들의 시퀀스(106)를 수신한다. 수신기(202)는 전형적으로 순차적으로 그리고 실시간으로 프레임들의 시퀀스(106)를 수신한다. 달리 말하면, 수신기(202)는 프레임들이 카메라(102)에 의해 촬영됨에 따라 이들을 수신한다.
프레임들의 시퀀스(106)는 움직이는 물체(예를 들어, 도 1에서의 움직이는 물체(110)와 같은 것)를 표현하는 것으로 가정된다. 도 4에서는 또한, 프레임들의 시퀀스(106), 혹은 적어도 이들의 서브-시퀀스(sub-sequence)가 예시되어 있다.
시퀀스(106)에서의 각각의 프레임은 시점에 대응한다. 특히, 프레임들의 시퀀스(106)는, 제 1 시점(t1)에 대응하는 제 1 프레임(402), 그리고 더 늦은 제 2 시점(t2)에 대응하는 제 2 프레임(412), 그리고 제 1 시점(t1)과 제 2 시점(t2) 사이에 있는 시점들에 대응하는 하나 이상의 중간 프레임들(404, 406, 408, 410)(여기서 예시되고 있는 것은 4개의 프레임들임)을 포함한다. 중간 프레임들(404, 406, 408, 410)의 수는 다양할 수 있다는 것을 이해해야 한다.
비디오 인코딩에서, 일부 프레임들을 인트라-프레임들(이것은 일부 비디오 인코딩 방식에서는 I-프레임들로서 지칭됨)로서 인코딩하는 것 그리고 일부 프레임들을 인터-프레임들(이것은 일부 인코딩 방식에서는 P-프레임들 혹은 B-프레임들로서 지칭됨)로서 인코딩하는 것이 알려져 있는데, 여기서 프레임들을 인트라-프레임들로서 인코딩하는 것의 의미는 프레임이 적어도 본질적으로 완전히 인코딩되는 것을 의미하며, 프레임들을 인터-프레임들로서 인코딩하는 것의 의미는 프레임이 이전의 프레임과 관련되어 인코딩되는 것을 의미한다. 전형적으로, 인트라-프레임 이후에는 복수의 인터-프레임들이 뒤를 따른다. 도 4의 예에서, 제 1 시점과 제 2 시점은 전형적으로 두 개의 후속하는 인트라-프레임들에 대응하는바, 즉, 제 1 프레임 및 제 2 프레임은 인트라-프레임들로서 인코딩될 것이다. 더욱이, 중간 프레임들은 전형적으로 인터-프레임들로서 인코딩될 것이다.
프레임들(402 내지 412)은 움직이는 물체(414)를 표현한다. 예시되고 있는 실시예에서, 물체(414)는 흔들거리며 움직이고 있지만(이것이 의미하는 것은 물체(414)가 전진 및 후진을 하며 움직이는 경향을 갖는 것을 의미함), (화살표에 의해 예시되는 바와 같이) 본질적으로 아래쪽 방향으로 움직이고 있다.
단계(S04)에서, 예측 컴포넌트(204)는 움직이는 물체의 움직임을 예측한다. 더 상세히 살펴보면, 예측 컴포넌트(204)는 제 1 시점(t1)으로부터 제 2 시점까지 프레임들의 시퀀스에서의 물체(414)의 움직임을 예측한다. 앞에서 언급된 바와 같이, 프레임들은 전형적으로 순차적으로 수신된다. 따라서, 이러한 예측은 일정 시기까지 수신된 프레임들에 근거하여 이루어진다. 이러한 프레임들은 전형적으로 제 1 시점 이전에 있는 시점들 혹은 제 1 시점과 동일한 시점에 대응하는 프레임들을 포함할 수 있다. 예를 들어, 단계(S04)가 수행되는 경우, 예측 컴포넌트(204)는 중간 프레임들(404 내지 410)을 아직 수신하지 않았을 것이며, 혹은 심지어 제 1 프레임(402)도 수신하지 않았을 것이다. 제 1 시점으로부터 제 2 시점까지의 시점들에 대응하는 프레임들(402 내지 410)의 수신을 기다리는 대신에, 제 1 시점으로부터 제 2 시점까지의 물체(414)의 움직임을 예측함으로써, 인코딩 프로세싱에서의 대기시간은 감소될 수 있다.
예측 컴포넌트(204)는 임의의 알려진 방식으로, 예를 들어, 움직임 벡터(motion vector)들을 사용함으로써, 그 움직이는 물체(414)의 움직임을 예측할 수 있다. 이러한 예측은 제 1 시점(t1)과 제 2 시점(t2) 사이에서 그 움직이는 물체(414)가 움직일 때 따를 것으로 예상되는 경로를 예측하는 것을 포함할 수 있다. 일부 실시예들에서, 예측 컴포넌트(204)는 제 1 시점(t1)과 제 2 시점(t2) 사이에서 그 움직이는 물체(414)가 움직일 것으로 예상되는 방향 및 움직이는 물체의 속도(
Figure pat00001
)를 예측함으로써 움직임을 예측할 수 있다. 다른 실시예들에서, 예측 컴포넌트(204)는 제 1 시점(t1)과 제 2 시점(t2) 사이에서 물체(414)의 예측된 경로가 본질적으로 임의의 형태를 취할 수 있도록 경로에 관한 더 복잡한 모델을 적용할 수 있다. 예측 컴포넌트(204)는 또한, 프레임 내의 수 개의 치수 부분 혹은 방향을 따라 물체(414)의 움직임을 예측할 수 있다. 예를 들어, 예측 컴포넌트(204)는 프레임들 내의 제 1 방향 및 이러한 제 1 방향과 직교하는 프레임들 내의 제 2 방향에서 물체(414)의 움직임을 예측할 수 있다. 제 1 방향은 예를 들어, 물체(414)가 움직이는 주된 방향에 대응할 수 있다. 도 4에서, 이러한 주된 방향은 아래쪽 방향에 대응한다. 그러나, 도 4에서 제시된 것은 물체(414)가 주된 방향인 제 1 방향을 따라 직진하여 움직이지 않은 경우를 나타낼 수 있으며 도 4에서 물체는 좌측-우측 방향을 따라서 움직이는 것과 같이 흔들거리며 움직일 수 있다. 따라서, 이러한 것을 고려하기 위해, 예측 컴포넌트(204)는 또한, 제 1 방향에 직교할 수 있는 제 2 방향을 따라 물체(414)의 (흔들거리는) 움직임을 예측할 수 있다. 도 4에서, 이러한 제 2 방향은 예시된 프레임들의 좌측-우측 방향에 대응한다.
더 일반적으로 살펴보면, 예측 컴포넌트(204)가 제 1 시점(t1)과 제 2 시점(t2) 사이에서 물체(414)가 따를 것으로 예상되는 경로에 관하여 물체(414)의 움직임을 예측하는 경우, 예측 컴포넌트(204)는 또한, 물체(414)가 움직임에 따라 흔들거리며 움직이는 동작을 고려하기 위해 해당 경로에 대해(예를 들어, 해당 경로에 직교하는 방향에서) 물체(414)의 흔들거리는 움직임을 예측할 수 있다.
단계(S06)에서, ROI 정의 컴포넌트(206)는 예측 컴포넌트(204)로부터의 예측된 움직임에 근거하여 ROI(416)를 정의한다. ROI(416)는 제 1 시점(t1)과 제 2 시점(t2) 사이에서 해당하는 움직이는 물체(414)의 전체 예측된 움직임 동안 그 움직이는 물체(414)를 포함하도록 정의된다. 제 1 시점(t1)과 제 2 시점(t2) 사이에서 해당하는 움직이는 물체(414)의 전체 예측된 움직임 동안 그 움직이는 물체(414)를 포함한다는 것이 특히 의미하는 바는, ROI(416)가 제 1 프레임(402) 및 중간 프레임들(404 내지 410) 각각 내에서의 움직이는 물체를 포함, 즉 포괄할 것으로 예상되는 그러한 영역으로서 정의된다는 것을 의미한다(그러나 이러한 영역이 제 2 프레임(412) 내에서의 움직이는 물체를 반드시 포함하지는 않음). 새로운 ROI(418)는 아래에서 더 논의되는 바와 같이 전형적으로 제 2 프레임(412)에 관하여 정의될 것이다. 유의할 사항으로, ROI(416)는 제 1 프레임(402) 및 중간 프레임들(404 내지 410)을 인코딩할 때 이후 사용될 제 1 프레임(402) 및 중간 프레임들(404 내지 410)에 관해 정의된 단일 영역이다. 이것은 각각의 프레임에 대해 상이한 ROI들을 사용하도록 가르치고 있는 종래 기술과는 상반되는 것이다.
ROI는 일반적으로 물체(414)의 예측된 움직임에 따라 임의의 형상을 가질 수 있다. 예를 들어, 물체(414)의 움직임이 물체(414)가 따를 것으로 예상되는 (일반적 형상의) 경로에 관해 예측된 경우에, ROI는 비록 물체의 움직임이 각각의 지점에서 경로에 직교하는 방향으로 확장될지라도 그 물체의 흔들거리는 움직임을 고려하여 물체를 포함하도록 해당 경로의 형상을 따르는 임의의 형태를 취할 수 있다.
일부 실시예들에서, ROI(416)는, 도 4에서 또한 예시되는 바와 같이, 사각형을 포함하거나 혹은 사각형의 형상을 갖는다. 특히, 사각형의 제 1 치수 부분은, 프레임들 내의 제 1 방향(예를 들어, 도 4에서의 아래쪽 방향)을 따라 움직일 물체(414)의 예측된 움직임 동안 그 물체(414)를 포함하도록 정의될 수 있고, 그리고 사각형의 제 2 치수 부분은, 프레임들 내의 제 2 방향(예를 들어, 도 4에서의 좌측-우측 방향)을 따라 움직일 물체(414)의 예측된 움직임 동안 그 물체(414)를 포함하도록 정의될 수 있다.
물체의 움직임의 주된 방향을 따라 일어날 움직임이 (가능하게는 시간에 따라 달라지는) 속도(
Figure pat00002
)에 관하여 예측된 경우, ROI의 면적은 아래와 같은 수학식으로서 계산될 수 있다.
Figure pat00003
여기서,
Figure pat00004
는 시점들(t1과 t2) 사이에서 그 예측된 주된 경로에 직교하는 방향으로 물체(414)의 예측된 움직임의 범위이다. 그러나, ROI(416)는 언제나 적어도 물체의 크기를 포함하는 면적을 갖도록 설정된다는 것을 이해해야 한다. 예를 들어, 속도가 0인 것으로 예측되는 경우(이것이 의미하는 바는 물체가 움직이지 않은 것으로 예측됨을 의미함), ROI(416)는 제 1 프레임(402)에서의 물체를 포함하는 영역(그리고 이에 따라 또한 중간 프레임들(404 내지 410)에서의 물체를 포함하는 영역)으로 여전히 설정된다.
단계(S08)에서, 인코딩 컴포넌트(208)는 제 1 프레임(402) 및 하나 이상의 중간 프레임들(404 내지 410)을 인코딩한다. 이것을 위해, 인코딩 컴포넌트(208)는 관심있는 영역에 대해 인코딩 품질(즉, 압축 레벨)이 설정될 수 있게 하는 임의의 알려진 표준을 구현하는 코덱을 포함할 수 있다. 이것은 H.26x 군(family) 내의 표준들을 포함하는바, 여기에는 H.264 표준이 포함된다. H.264 코덱에 의해 정의되는 압축 레벨은 종종 양자화 파라미터(QP)로서 지칭된다.
이러한 비디오 압축 표준들은 인트라 프레임들(예를 들어, I-프레임들), 및 인터 프레임들(예를 들어, P-프레임들 혹은 B-프레임들)을 고려하여 구현되는 시간적 비디오 압축을 규정한다. 인트라-프레임은 기본적으로 인코딩될 이미지 프레임에서의 정보만을 사용하여 인코딩되는 이미지 프레임이다. 더욱이, 인트라-프레임은 인코딩될 이미지 프레임에 대해 촬영된 모든 이미지 데이터로부터 계산된다. 따라서, 인트라-프레임은 때때로 완전 프레임(full frame)으로서 지칭된다. 인터-프레임들(이들은 또한 예측 프레임들로서 지칭되거나 혹은 차등 프레임들로서 지칭됨)은 이전에 인코딩된 이미지 프레임들로부터의 정보를 기반으로 할 뿐만 아니라 현재 인코딩된 프레임의 정보를 기반으로 하는데, 즉 인터-프레임은 이전의 이미지 프레임들에서의 시간적 리던던트 정보를 이용하는 것으로서 설명될 수 있다. 이러한 타입의 코덱들을 구현하는 동영상은 전형적으로 하나의 인트라-프레임 및 후속하는 소정 개수의 인터-프레임들을 발생시키며, 그 다음에 새로운 인트라-프레임 및 후속하는 동일 개수의 인터-프레임들을 발생시킨다. 하나의 인트라-프레임 및 후속하는 임의 개수의 인터-프레임들의 이러한 시퀀스의 길이는 종종 영상들의 그룹(Group of Pictures, GOP) 길이(GOP-길이)로서 지칭된다.
본 경우에 있어서, 제 1 프레임(402), 중간 프레임들(404 내지 410), 그리고 제 2 프레임(412)은 GOP로서 인코딩되는 시퀀스를 형성할 수 있다. 따라서, 제 1 프레임(402)은 인트라 프레임으로서 인코딩될 수 있고, 중간 프레임들(404 내지 410)은 인터 프레임들로서 인코딩될 수 있으며, 그리고 제 2 프레임(412)은 인트라 프레임으로서 인코딩될 수 있다.
제 1 프레임(402) 및 중간 프레임들(404 내지 410)을 인코딩하기 전에, 인코딩 컴포넌트(208)는 전형적으로 ROI(416) 혹은 ROI(416) 중 일부 영역들과 관련하여 사용될 인코딩 품질 패턴을 설정한다. 인코딩 품질 패턴은 ROI(416)의 어떤 부분에서 어떤 인코딩 품질(즉, 압축 레벨)을 사용할 것인지를 정의한다. 전형적으로, 인코딩 품질 패턴은 ROI의 주변에서의 인코딩 품질과 비교해 ROI 내부의 인코딩 품질이 더 높도록(즉, 더 낮은 압축 레벨이 적용되도록) 설정된다. 일반적으로, ROI(416) 외부의 인코딩 품질은 프레임들 간에 공간적으로 그리고 또한 시간적으로 다양할 수 있다.
일부 실시예들에서, 인코딩 품질 패턴은 전체 ROI(416)에서 사용될 단일 인코딩 품질을 정의한다. 달리 말하면, 이러한 실시예들에서, 인코딩 품질은 ROI(416) 전체에 걸쳐 일정하다. 그러나, 다른 실시예들에서, 인코딩 품질은 ROI(416) 내에서 공간적으로 다양하도록 될 수 있다. 따라서, 인코딩 품질 패턴은 ROI의 서로 다른 부분들에서 사용될 상이한 인코딩 품질들을 정의할 수 있다. 예를 들어, 인코딩 품질 패턴은 인코딩 품질이 ROI(416) 내에서의 그래디언트(gradient)에 따라 변하는 것을 정의할 수 있다.
인코딩 컴포넌트(208)는 ROI(416)에 관하여 정의된 인코딩 품질 패턴을 제 1 시점(t1)과 제 2 시점(t2) 사이에서 시간적으로 일정하도록 설정하는바, 즉 인코딩 컴포넌트는 제 1 프레임(402) 및 중간 프레임들(404 내지 410)을 인코딩할 때 공통의 인코딩 품질 패턴을 적용한다. 그러나, 전형적으로, 제 2 프레임(412)을 인코딩할 때 인코딩 품질 패턴은 다시-설정될 것이다. 제 1 프레임(402) 및 중간 프레임들(404 내지 410)을 인코딩할 때 ROI(416) 내에서 이러한 동일한 인코딩 품질 패턴을 적용함으로써, 유리한 것으로, 배경에 관해 프레임들 간을 다시-인코딩해야하는 것이 감소될 수 있다.
단계(S08)는 복수의 하위-단계들을 포함할 수 있다. 단계(S08a)에서, 인코딩 컴포넌트(208)는 제 1 프레임(402)을 인코딩한다. 제 1 프레임(402)은 전형적으로 인트라 프레임으로서 인코딩된다. 제 1 프레임(402)을 인코딩할 때, 인코딩 컴포넌트(208)는 (전체) ROI(416) 내에서 임의의 선택된 인코딩 품질 패턴을 적용한다.
그 다음에, 인코딩 컴포넌트(208)는 중간 프레임들(404 내지 410)을 인코딩하게 된다. 중간 프레임들(404 내지 410)은 전형적으로 인터 프레임들로서 인코딩된다.
일부 실시예들에 따르면, 인코딩 컴포넌트(208)는 중간 프레임들(404 내지 410)을 인코딩할 때, 전체 ROI(416) 내에서 임의의 선택된 인코딩 품질 패턴을 적용한다.
다른 실시예들에서, 인코딩 컴포넌트(208)는 중간 프레임들(404 내지 410) 중 적어도 일부를 인코딩할 때, ROI(416) 중 일부 영역 내에서 임의의 선택된 인코딩 품질 패턴을 적용한다.
더 상세히 실펴보면, 본 방법은 하위-단계(S08b)를 포함할 수 있으며, 이러한 하위-단계(S08b)에서, 인코딩 컴포넌트(208)는, 각각의 중간 프레임들(404 내지 410)에 대해, 임의의 선택된 인코딩 품질 패턴에 따라 인코딩될 ROI(416) 중 일부 영역을 결정한다. 특히, 인코딩 컴포넌트(208)는, 특정 중간 프레임에 대한 ROI 중 일부 영역을 결정할 수 있는바, 이러한 영역을 그 특정 중간 프레임에 대응하는 시점과 제 2 시점(t2) 사이에서 물체(414)의 예측된 움직임 동안 물체(414)를 포함하는 ROI 중 일부 영역으로서 결정할 수 있다. 이것은 물체(414)가 이미 지나가 버린 그러한 픽셀들에 대응하는 ROI의 일부분을 축소 혹은 제거하는 것으로 고려될 수 있다.
이러한 것은 또한 도 4의 하위 부분에서 예시되어 있는바, 여기에는 제 1 프레임(402), 제 1 중간 프레임(404), 및 제 2 중간 프레임(406)이 확대되어 제시되어 있다. 제 1 중간 프레임(404)에 관하여, 인코딩 컴포넌트(208)는 제 1 중간 프레임에 대응하는 시점에서 물체(414)가 이미 지나가 버린 픽셀들에 대응하는 일부분(422a)을 제거함으로써 ROI(416) 중 일부 영역(420a)을 결정하게 된다. 특히, 제거되는 일부분(422a)은 제 1 프레임(402)에서의 물체(414)는 적어도 부분적으로 포함하지만 제 1 중간 프레임(404)에서의 물체(414)는 포함하지 않는 영역에 대응한다.
제 2 중간 프레임(406)에 관하여, 인코딩 컴포넌트(208)는 제 2 중간 프레임(406)에 대응하는 시점에서 물체(414)가 이미 지나가 버린 픽셀들에 대응하는 일부분(422b)을 제거함으로써 ROI(416) 중 일부 영역(420b)을 결정하게 된다. 특히, 제거되는 일부분(422b)은 제 1 프레임(402) 및 제 1 중간 프레임(404)에서의 물체(414)는 적어도 부분적으로 포함하지만 제 2 중간 프레임(406)에서의 물체(414)는 포함하지 않는 영역에 대응한다.
인코딩 컴포넌트(208)는 ROI(416) 중 일부 영역들(420a, 420b)을 결정하기 위해 반복적 절차를 적용할 수 있다. 더 구체적으로 살펴보면, 제 1 중간 프레임(404)에 대해, ROI(416) 중 일부 영역(420a)은 ROI(416)로부터 일부분(422a)을 제거함으로써 결정된다. 제 2 중간 프레임(404)에 대해, ROI(416) 중 일부 영역(420b)은 제 1 중간 프레임(404)에 관하여 결정된 ROI(416) 중 일부 영역(420a)으로부터 일부분을 제거함으로써 결정된다. 더 일반적으로 살펴보면, 제 1 중간 프레임(404)에 후속하는 각각의 중간 프레임(404 내지 410)에 대해, ROI(416) 중 일부 영역은 선행하는 중간 프레임에 관하여 결정된 ROI(416) 중 일부 영역으로부터 일부분을 제거함으로써 결정된다.
제 1 프레임에 대응하는 시점을 t1 ,0으로 표시하고, 중간 프레임들에 대응하는 시점들을 t1 ,i로 표시하고, ROI의 면적을 A0으로 표시하고, i번째 중간 프레임에 대응하는 ROI 중 일부 영역의 면적을 Ai로 표시하면, ROI 중 일부 영역들의 면적은 다음과 같은 수학식으로서 반복적으로 계산될 수 있다.
Figure pat00005
그러나, 앞에서 또한 언급된 바와 같이, ROI(416)는 언제나 적어도 물체의 크기를 포함하는 면적을 갖도록 설정된다는 것을 이해해야 한다.
일부 실시예들에 따르면, 하위-단계(S08c)에서, 인코딩 컴포넌트(208)는 그 결정된 ROI 중 일부 영역들(420a, 420b)에서 중간 프레임들(404 내지 410) 각각을 인코딩하되 공통의 인코딩 품질 패턴을 사용하여 중간 프레임들을 인코딩한다. 제거된 일부분들(422a, 422b)에서, 인코딩 컴포넌트(208)는 중간 프레임들(402 내지 410)을 인코딩하되 그 제거된 일부분에 관해서 인코딩 품질 패턴이 정의하고 있는 인코딩 품질보다는 낮은(즉, 더 높은 압축 레벨을 갖는) 인코딩 품질로 중간 프레임들을 인코딩할 수 있다.
일부 경우에 있어서, 물체(414)가 ROI(416) 밖으로 움직이는 경우가 일어날 수 있다(예를 들어, 물체 움직임의 예측이 진정한 물체 움직임과 일치하지 않았기 때문에 이러한 경우가 일어날 수 있음). 이러한 것이 일어나는 경우, ROI(416)는 다시정의(예를 들어, 확대)될 수 있거나, 혹은 본 방법은 물체가 ROI(416) 밖으로 움직였을 때의 시점을 새로운 시작 시점으로서 선택하여 한번 더 다시-시작될 수 있다.
이러한 경우가 존재하는지 여부를 발견하기 위해, 인코딩 컴포넌트(208)는 또한, 인코딩될 각각의 프레임에 대해, 관련 프레임에서 표현된 움직이는 물체(414)를 관심있는 영역이 포함하는지 여부를 점검할 수 있다. 만약 포함하지 않는 경우라면, 예측 컴포넌트(204)는 그 관련 프레임에 대응하는 시점과 더 늦은 시점(이것은 제 2 시점과 일치할 수 있거나 혹은 일치하지 않을 수 있음) 사이에서 물체의 움직임을 예측할 수 있다. 그 다음에, ROI 정의 컴포넌트(206)는 그 관련 프레임에 대응하는 시점과 더 늦은 시점 사이에서 물체(414)의 새롭게 예측된 움직임 동안 물체(414)를 포함하도록 ROI를 물체(414)의 새롭게 예측된 움직임에 근거하여 다시-정의할 수 있다. 그 다음에, 인코딩 컴포넌트(208)는 그 관련 프레임 및 (더 늦은 시점 이전의 시점에 대응하는) 임의의 후속 프레임을 인코딩할 때 이렇게 다시-정의된 ROI를 사용할 수 있다.
본 발명의 앞서 개시된 방법(S02 내지 S08)은 반복해서 되풀이될 수 있다는 것을 이해해야 한다. 특히, 본 방법은 시점(t2)에 도달하는 경우 반복되는데, 즉, 시점(t2)이 시작 시점으로서 선택된다.
본 발명의 기술분야에서 숙련된 사람이 앞서-설명된 실시예들을 다수의 방식으로 수정할 수 있고 앞서의 실시예들에서 보여지는 바와 같은 본 발명의 장점을 여전히 이용할 수 있음이 이해될 것이다. 예를 들어, 프레임들의 시퀀스에서의 수 개의 움직이는 물체들이 존재할 수 있다. 그러한 경우에, 물체 당 하나의 ROI가 정의될 수 있다. 서로 다른 ROI들에 대해 상이한 인코딩 품질 패턴들이 사용될 수 있다. 따라서, 본 발명은 제시되는 실시예들로만 한정돼서는 안 되며, 오로지 첨부되는 청구범위에 의해서만 정의돼야 한다. 추가적으로, 숙련된 사람이 이해하고 있는 바와 같이, 본 명세서에서 제시되는 실시예들은 서로 결합될 수 있다.

Claims (14)

  1. 프레임(frame)들의 시퀀스(sequence)를 비디오 인코딩(video encoding)하기 위한 방법으로서,
    움직이는 물체(moving object)(414)를 표현하는 프레임들의 시퀀스를 수신하는 단계(S02)와, 여기서 상기 시퀀스는 제 1 시점(time point)에 대응하는 제 1 프레임(402), 그리고 더 늦은 제 2 시점에 대응하는 제 2 프레임(412), 그리고 상기 제 1 시점과 상기 제 2 시점 중간에 있는 하나 이상의 시점들에 대응하는 하나 이상의 중간 프레임들(404, 406, 408, 410)을 포함하고;
    상기 제 1 시점과 상기 제 2 시점 사이에서 프레임들의 상기 시퀀스에서의 상기 움직이는 물체(414)의 움직임을 예측하는 단계(S04)와;
    상기 제 1 시점과 상기 제 2 시점 사이에서 상기 움직이는 물체(414)의 전체 예측된 움직임 동안 상기 움직이는 물체(414)를 포함하는 프레임들 내에서의 관심있는 영역(416)을 상기 움직이는 물체(414)의 예측된 움직임에 근거하여 정의하는 단계(S06)와, 여기서 상기 관심있는 영역은 프레임들 간에 변하지 않은 영역이며; 그리고
    상기 관심있는 영역(416)에서 상기 제 1 프레임(402)을 인코딩함과 아울러 상기 관심있는 영역(416) 중 적어도 일부 영역(subset)에서 상기 하나 이상의 중간 프레임들(404, 406, 408, 410)을 인코딩하되 상기 관심있는 영역(416)의 어떤 부분에서 어떤 인코딩 품질(encoding quality)을 사용할 것인지를 정의하는 공통의 일정한 인코딩 품질 패턴(common constant encoding quality pattern)을 사용하여 상기 제 1 프레임(402) 및 상기 하나 이상의 중간 프레임들(404, 406, 408, 410)을 인코딩하는 단계(S08)를 포함하여 구성되고,
    여기서 특정 중간 프레임에 대해, 상기 관심있는 영역 중 일부 영역은 상기 특정 중간 이미지 프레임에 대응하는 시점과 상기 제 2 시점 사이에서 상기 물체의 전체 예측된 움직임 동안 상기 물체를 포함하고,
    상기 방법은 또한,
    제 1 중간 프레임(404)에 대해, 상기 관심있는 영역(416)으로부터 일부분(422a)을 제거함으로써 상기 관심있는 영역 중 일부 영역(420a)이 결정되는 것과, 그리고
    상기 제 1 중간 프레임(404)에 후속하는 각각의 중간 프레임(406, 408, 410)에 대해, 선행하는 중간 프레임을 인코딩할 때 사용된 상기 관심있는 영역 중 일부 영역(420a)으로부터 일부분(422b)을 제거함으로써 상기 관심있는 영역 중 일부 영역(420b)이 결정되는 것을 포함하는 것을 특징으로 하는 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법.
  2. 제1항에 있어서,
    상기 인코딩 품질 패턴은 상기 관심있는 영역(416) 전체에서 사용될 단일 인코딩 품질을 정의하는 것을 특징으로 하는 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법.
  3. 제1항에 있어서,
    상기 인코딩 품질 패턴은 상기 관심있는 영역(416)의 서로 다른 일부분들에서 사용될 상이한 인코딩 품질들을 정의하는 것을 특징으로 하는 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법.
  4. 제1항에 있어서,
    각각의 인코딩 품질은 압축 레벨(level of compression)에 대응하는 것을 특징으로 하는 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법.
  5. 제1항에 있어서,
    상기 제 1 프레임(402)은 인트라 프레임(intra frame)으로서 인코딩되는 것을 특징으로 하는 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법.
  6. 제1항에 있어서,
    상기 하나 이상의 중간 프레임들(404, 406, 408, 410)은 인터 프레임(inter-frame)들로서 인코딩되는 것을 특징으로 하는 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법.
  7. 제1항에 있어서,
    상기 하나 이상의 중간 프레임들(404, 406, 408, 410) 중 적어도 일부는 상기 공통의 인코딩 품질 패턴을 사용하여 상기 관심있는 영역(416) 전체에서 인코딩되는 것을 특징으로 하는 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법.
  8. 제1항에 있어서,
    상기 관심있는 영역(416)으로부터 제거되는 일부분(422a)은, 상기 물체의 적어도 일부를 상기 제 1 프레임(402)에서는 포함하지만 상기 제 1 중간 프레임(404)에서는 포함하지 않는 영역에 대응하고,
    상기 선행하는 중간 프레임을 인코딩할 때 사용된 상기 관심있는 영역 중 일부 영역(420a)으로부터 제거되는 일부분(422b)은, 상기 물체를 상기 선행하는 중간 프레임에서는 적어도 부분적으로 포함하지만 후속하는 중간 프레임에서는 포함하지 않는 영역에 대응하는 것을 특징으로 하는 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법.
  9. 제1항에 있어서,
    상기 하나 이상의 중간 프레임들(404, 406, 408, 410) 각각에 대해, 상기 제거된 일부분(422a, 422b)에서 중간 프레임을 인코딩하되 상기 제거된 일부분에 대해서 상기 인코딩 품질 패턴이 정의하고 있는 인코딩 품질보다는 낮은 인코딩 품질로 중간 프레임을 인코딩하는 단계를 더 포함하는 것을 특징으로 하는 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법.
  10. 제1항에 있어서,
    상기 관심있는 영역은 사각형(rectangle)을 포함하고,
    상기 사각형의 제 1 치수(dimension) 부분은, 상기 제 1 시점과 상기 제 2 시점 사이에서 프레임들 내의 제 1 방향을 따라 움직일 상기 움직이는 물체의 예측된 움직임을 포함하고, 그리고
    상기 사각형의 다른 치수 부분은, 상기 제 1 시점과 상기 제 2 시점 사이에서 프레임들 내의 상기 제 1 방향과 직교하는 제 2 방향을 따라 움직일 상기 움직이는 물체의 예측된 움직임을 포함하는 것을 특징으로 하는 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법.
  11. 제1항에 있어서,
    상기 제 2 시점과 상기 제 2 시점보다 더 늦은 제 3 시점 사이에서 프레임들의 상기 시퀀스에서의 상기 움직이는 물체(416)의 움직임을 예측하는 단계와;
    상기 제 2 시점과 상기 제 3 시점 사이에서 상기 움직이는 물체(416)의 전체 예측된 움직임 동안 상기 움직이는 물체(416)를 포함하도록 관심있는 추가 영역(418)을 상기 움직이는 물체의 예측된 움직임에 근거하여 정의하는 단계와; 그리고
    상기 제 2 프레임(412)을 인코딩할 때 상기 관심있는 추가 영역(418)을 사용하는 단계를 더 포함하는 것을 특징으로 하는 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법.
  12. 제1항에 있어서,
    적어도 하나의 중간 프레임에 대해, 상기 관심있는 영역이 상기 적어도 하나의 중간 프레임에서 표현되는 상기 움직이는 물체를 포함하는지 여부를 점검하는 단계와, 그리고 만약 포함하지 않는다면,
    상기 적어도 하나의 중간 프레임에 대응하는 시점과 더 늦은 제 4 시점 사이에서 프레임들의 상기 시퀀스에서의 상기 움직이는 물체의 움직임을 예측하는 단계와;
    상기 하나 이상의 중간 프레임들 중 상기 적어도 하나의 중간 프레임에 대응하는 시점과 상기 제 4 시점 사이에서 상기 움직이는 물체의 전체 예측된 움직임 동안 상기 움직이는 물체를 포함하도록 상기 시퀀스의 프레임들 내에서의 관심있는 영역을 상기 움직이는 물체의 예측된 움직임에 근거하여 다시 정의하는 단계와; 그리고
    상기 적어도 하나의 중간 프레임을 인코딩할 때 상기 다시 정의된 관심있는 영역을 사용하는 단계를 더 포함하는 것을 특징으로 하는 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법.
  13. 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 판독가능 매체는 프로세싱 능력(processing capability)을 갖고 있는 디바이스에 의해 실행될 때 제1항 내지 제12항 중 어느 하나의 항에 기재된 방법을 수행하도록 되어 있는 컴퓨터 코드 명령(computer code instruction)들을 갖는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  14. 프레임들의 시퀀스를 비디오 인코딩하기 위한 인코더(104)로서,
    움직이는 물체(414)를 표현하는 프레임들의 시퀀스를 수신하도록 되어 있는 수신기(receiver)(202)와, 여기서 상기 시퀀스는 제 1 시점에 대응하는 제 1 프레임(402), 그리고 더 늦은 제 2 시점에 대응하는 제 2 프레임, 그리고 상기 제 1 시점과 상기 제 2 시점 중간에 있는 하나 이상의 시점들에 대응하는 하나 이상의 중간 프레임들(404, 406, 408, 410)을 포함하고;
    상기 제 1 시점과 상기 제 2 시점 사이에서 프레임들의 상기 시퀀스에서의 상기 움직이는 물체(414)의 움직임을 예측하도록 되어 있는 예측 컴포넌트(predicting component)(204)와;
    상기 제 1 시점과 상기 제 2 시점 사이에서 상기 움직이는 물체(414)의 전체 예측된 움직임 동안 상기 움직이는 물체(414)를 포함하는 프레임들 내에서의 관심있는 영역(416)을 상기 움직이는 물체의 예측된 움직임에 근거하여 정의하도록 되어 있는 관심있는 영역 정의 컴포넌트(region of interest defining component)(206)와, 여기서 상기 관심있는 영역은 프레임들 간에 변하지 않은 영역이며; 그리고
    인코딩 컴포넌트(encoding component)(208)를 포함하여 구성되고,
    상기 인코딩 컴포넌트(208)는,
    상기 관심있는 영역(416)에서 상기 제 1 프레임(402)을 인코딩함과 아울러 상기 관심있는 영역(416) 중 적어도 일부 영역에서 상기 하나 이상의 중간 프레임들을 인코딩하되 상기 관심있는 영역의 어떤 부분에서 어떤 인코딩 품질을 사용할 것인지를 정의하는 공통의 일정한 인코딩 품질 패턴을 사용하여 상기 제 1 프레임(402) 및 상기 하나 이상의 중간 프레임들을 인코딩하도록 되어 있고, 여기서 특정 중간 프레임에 대해, 상기 관심있는 영역 중 일부 영역은 상기 특정 중간 프레임에 대응하는 시점과 상기 제 2 시점 사이에서 상기 물체의 전체 예측된 움직임 동안 상기 물체를 포함하며,
    상기 인코딩 컴포넌트는 또한,
    제 1 중간 프레임(404)에 대해, 상기 관심있는 영역(416)으로부터 일부분(422a)을 제거함으로써 상기 관심있는 영역 중 일부 영역(420a)을 결정하도록 되어 있고, 그리고
    상기 제 1 중간 프레임(404)에 후속하는 각각의 중간 프레임(406, 408, 410)에 대해, 선행하는 중간 프레임을 인코딩할 때 사용된 상기 관심있는 영역 중 일부 영역(420a)으로부터 일부분(422b)을 제거함으로써 상기 관심있는 영역 중 일부 영역(420b)을 결정하도록 되어 있는 것을 특징으로 하는 프레임들의 시퀀스를 비디오 인코딩하기 위한 인코더.
KR1020150164032A 2014-12-03 2015-11-23 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법 및 인코더 KR101715833B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14196126.8 2014-12-03
EP14196126.8A EP3029937B1 (en) 2014-12-03 2014-12-03 Method and encoder for video encoding of a sequence of frames

Publications (2)

Publication Number Publication Date
KR20160067032A true KR20160067032A (ko) 2016-06-13
KR101715833B1 KR101715833B1 (ko) 2017-03-13

Family

ID=52006883

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150164032A KR101715833B1 (ko) 2014-12-03 2015-11-23 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법 및 인코더

Country Status (6)

Country Link
US (1) US9936217B2 (ko)
EP (1) EP3029937B1 (ko)
JP (1) JP6119045B2 (ko)
KR (1) KR101715833B1 (ko)
CN (1) CN105681795B (ko)
TW (1) TWI613910B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190126348A (ko) * 2017-03-16 2019-11-11 오렌지 영상을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 장치, 및 해당 컴퓨터 프로그램

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170359596A1 (en) * 2016-06-09 2017-12-14 Apple Inc. Video coding techniques employing multiple resolution
EP3306528B1 (en) * 2016-10-04 2019-12-25 Axis AB Using image analysis algorithms for providing traning data to neural networks
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
JP6961443B2 (ja) * 2017-09-29 2021-11-05 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US10869040B2 (en) * 2017-10-29 2020-12-15 Chun-Wei Chan Perceptual multimedia encoding system and method with pre-defined encoding quality patterns
EP3503548B1 (en) * 2017-12-19 2019-10-23 Axis AB Video encoding method and system
US10713517B2 (en) 2018-09-30 2020-07-14 Himax Technologies Limited Region of interest recognition
CN113132721B (zh) * 2019-12-31 2022-07-19 浙江宇视科技有限公司 视频编码方法、装置、可读存储介质及电子设备
CN111277825A (zh) * 2020-01-19 2020-06-12 浙江工业大学 一种基于海思芯片的码流控制方法
US11936881B2 (en) * 2021-09-30 2024-03-19 Hewlett-Packard Development Company, L.P. Region of interest based image data enhancement in a teleconference

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007024351A2 (en) * 2005-08-26 2007-03-01 Idt Corporation Region of interest tracking and integration into a video codec
US8150173B2 (en) * 2004-10-29 2012-04-03 Sanyo Electric Co., Ltd. Image coding method and apparatus, and image decoding method and apparatus

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665342B1 (en) * 1999-07-02 2003-12-16 International Business Machines Corporation System and method for producing a still image representation of a motion video
DE10300048B4 (de) 2002-01-05 2005-05-12 Samsung Electronics Co., Ltd., Suwon Verfahren und Vorrichtung zur Bildcodierung und -decodierung
JP4241562B2 (ja) * 2004-09-29 2009-03-18 三洋電機株式会社 画像圧縮装置
US8693537B2 (en) 2005-03-01 2014-04-08 Qualcomm Incorporated Region-of-interest coding with background skipping for video telephony
WO2008075779A1 (en) * 2006-12-18 2008-06-26 Fujifilm Corporation Monitoring system, monitoring method and program
US20090022403A1 (en) * 2007-07-20 2009-01-22 Fujifilm Corporation Image processing apparatus, image processing method, and computer readable medium
JP2009253581A (ja) * 2008-04-04 2009-10-29 Fujifilm Corp 画像処理装置、画像処理方法、およびプログラム
US8363720B2 (en) * 2009-01-26 2013-01-29 Panasonic Corporation Moving image processing device, moving image processing method and imaging apparatus
TWI429294B (zh) * 2009-06-04 2014-03-01 Ind Tech Res Inst 具有限度變動位元率控制之感興趣區域編碼方法與系統以及相關之儲存媒體
CN102831442A (zh) * 2011-06-13 2012-12-19 索尼公司 异常行为检测设备和方法及生成该检测设备的设备和方法
JP2013187769A (ja) * 2012-03-08 2013-09-19 Panasonic Corp 符号化装置
CN102682454B (zh) * 2012-04-28 2013-05-08 中国科学技术大学 一种视频中的感兴趣区域跟踪方法及装置
WO2014094216A1 (en) 2012-12-18 2014-06-26 Intel Corporation Multiple region video conference encoding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8150173B2 (en) * 2004-10-29 2012-04-03 Sanyo Electric Co., Ltd. Image coding method and apparatus, and image decoding method and apparatus
WO2007024351A2 (en) * 2005-08-26 2007-03-01 Idt Corporation Region of interest tracking and integration into a video codec

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190126348A (ko) * 2017-03-16 2019-11-11 오렌지 영상을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 장치, 및 해당 컴퓨터 프로그램

Also Published As

Publication number Publication date
EP3029937A1 (en) 2016-06-08
US9936217B2 (en) 2018-04-03
TW201631973A (zh) 2016-09-01
TWI613910B (zh) 2018-02-01
CN105681795A (zh) 2016-06-15
EP3029937B1 (en) 2016-11-16
JP2016111694A (ja) 2016-06-20
KR101715833B1 (ko) 2017-03-13
CN105681795B (zh) 2018-02-13
US20160165257A1 (en) 2016-06-09
JP6119045B2 (ja) 2017-04-26

Similar Documents

Publication Publication Date Title
KR101715833B1 (ko) 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법 및 인코더
EP3075154B1 (en) Selection of motion vector precision
US10291925B2 (en) Techniques for hardware video encoding
US9071841B2 (en) Video transcoding with dynamically modifiable spatial resolution
JP5264747B2 (ja) マルチパスエンコーダにおける効率的な1パスのエンコーディングの方法および装置
KR20200125687A (ko) 디코더 측 mv 도출 및 리파인먼트를 위한 개선
KR20170063895A (ko) 비디오 코딩을 위한 해시 기반 인코더 결정
KR20200002036A (ko) 비디오 코딩에서 모션 보상 예측을 위한 광흐름 추정
US20140056353A1 (en) Video encoding method and a video encoding apparatus using the same
US20170099491A1 (en) Apparatus, method and non-transitory medium storing program for encoding moving picture
KR20150009578A (ko) 비디오 인코딩을 위한 모션 센서 보조 레이트 제어
KR20130130695A (ko) 복수의 프로세서를 사용하여 비디오 프레임을 인코딩하는 방법 및 시스템
JP2023521295A (ja) 映像符号化データをシグナリングするための方法
KR102424258B1 (ko) 비디오를 인코딩하기 위한 방법 및 인코더 시스템
JP2023507911A (ja) ピクチャに対して漸進的復号化リフレッシュ処理を行うための方法及びシステム
KR20220116006A (ko) 랩-어라운드 모션 보상을 수행하기 위한 방법들
US20170070555A1 (en) Video data flow compression method
KR20220062655A (ko) 비디오 데이터의 무손실 코딩
JP2015027022A (ja) 動画像符号化装置、動画像符号化方法、およびプログラム
JP5100572B2 (ja) 符号化装置
JP5938424B2 (ja) 画像ブロックを再構成および符号化する方法
JP6339977B2 (ja) 映像符号化装置及び映像符号化プログラム
US20180027256A1 (en) Video encoding device, video encoding method, and video encoding program
JP6239838B2 (ja) 動画像符号化装置、その制御方法、及び撮像装置
US11582478B2 (en) Video encoding technique utilizing user guided information in cloud environment

Legal Events

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