KR20190043469A - 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하기 위한 방법 및 인코더 - Google Patents

보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하기 위한 방법 및 인코더 Download PDF

Info

Publication number
KR20190043469A
KR20190043469A KR1020180121100A KR20180121100A KR20190043469A KR 20190043469 A KR20190043469 A KR 20190043469A KR 1020180121100 A KR1020180121100 A KR 1020180121100A KR 20180121100 A KR20180121100 A KR 20180121100A KR 20190043469 A KR20190043469 A KR 20190043469A
Authority
KR
South Korea
Prior art keywords
image data
resolution
frame
video stream
auxiliary frame
Prior art date
Application number
KR1020180121100A
Other languages
English (en)
Other versions
KR102118265B1 (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 KR20190043469A publication Critical patent/KR20190043469A/ko
Application granted granted Critical
Publication of KR102118265B1 publication Critical patent/KR102118265B1/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4007Interpolation-based scaling, e.g. bilinear interpolation
    • 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/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/014Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors

Abstract

본 발명은 비디오 인코딩 분야에 관한 것이다. 특히, 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하기 위한 방법 및 인코더에 관한 것으로, 보조 프레임을 참조하는 프레임과 관련하여 이러한 보조 프레임은 전송율을 제어하는데 사용될 수 있고, 보조 프레임의 이미지 데이터는 비디오 캡처 장치에 의해 캡처된 이미지 데이터의 축소된 버전을 포함하며, 보조 프레임을 참조하는 프레임의 모션 벡터는 계산/결정되어 이미지 데이터의 축소된 버전을 다시 의도된 해상도를 갖도록 확대한다.

Description

보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하기 위한 방법 및 인코더{METHOD AND ENCODER FOR ENCODING A VIDEO STREAM IN A VIDEO CODING FORMAT SUPPORTING AUXILIARY FRAMES}
본 발명은 비디오 인코딩의 분야에 관한 것이다. 특히, 본 발명은 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하는 방법 및 인코더에 관한 것이다.
지난 몇년 동안 디지털 및 온라인 비디오 및 이들 애플리케이션의 인기가 높았다. 예를 들어, 인터넷을 통해 라이브 비디오 및 녹화된 비디오 모두의 스트리밍은 텔레비전이나 DVD 대여와 같은 비디오 시청의 전통적인 방식보다 대중화되고 있다. 스트리밍 비디오는 스트리밍이 수행되는 인터넷 연결의 대역폭이 스트리밍된 비디오의 해상도(HD, 4K, 1080P 등)에 대해 너무 낮거나 인터넷 연결의 대역폭이 변동할 때 문제가 발생할 수 있다. 대역폭이 충분하지 않으면 스트리밍 비디오가 끊어지므로, 지연으로 인해 비디오가 볼 수 없게 된다. 제한된 대역폭의 인터넷 연결에서 스트리밍하기 위해 비디오를 준비하는 한가지 방법은 전송률 제어(rate control)이다. 전송률 제어는 비디오 코팅에 중요한 역할을 하며, 전송률 제어는 코딩된 비트 스트림이 성공적으로 전송될 수 있고, 제한된 대역폭을 최대한 사용하는 것을 보장한다. 즉, 고정 또는 가변 대역폭에 따라 비디오 출력 비트를 조절한다. 일반적으로, 전송률 제어는 낮은 비트 전송률에서 종종 나쁜 품질을 야기하는 압축 및 프레임률(frame rate)로 작동한다.
US 2004/120398호(Zhang 등)는 일련의 이미지를 포함하는 비디오를 적응적 인코딩하는 방법을 개시하고, 여기서 각각의 이미지는 두개 필드의 화상이다. 비디오의 각각의 이미지는 프레임으로 인코딩되고, 전송률-왜곡 특성(rate-distortion characteristics)은 인코딩된 프레임에서 추출되며, 동시에 두개의 필드 및 전송률-왜곡 특성으로서 비디오의 각각의 이미지를 인코딩하는 것은 필드로부터 추출된다. 추출된 전송률-왜곡 특성에 따라 손실 함수(cost function)의 파라미터 값(λ)이 결정되고, 손실 함수는 추출된 전송률-왜곡 특성과 파라미터(λ)로부터 구성된다. 그런 다음, 프레임 인코딩 또는 필드 인코딩 중 하나가 이미지에 대해 구성된 손실 함수의 값에 따라 각각의 이미지에 대해 선택된다.
US 6,226,3276(Igarashi 등)은 화상을 나타내는 프레임을 영역들로 구성된 것으로 간주하는 인코더를 개시한다. 각각의 영역에 대해, 인코더는 프레임 기반 또는 필드 기반 직교 변환 중 어느 것이 해당 영역의 공간 중복성을 줄이는데 가장 효율적인지 결정한다. 각각의 영역에 대해, 인코더는 프레임 기반 또는 필드 기반 예측 인코딩 중 해당 영역에서 시간적 중복성을 줄이는데 가장 효율적일 것이다. 인코더는 인코딩된 신호를 생성하기 위해 가장 효율적인 직교 변환 기술을 사용하고 가장 효과적인 예측 인코딩 기술을 사용하여 사진 프레임의 각각의 영역을 인코딩한다. 디코더는 인코딩된 신호를 디코딩한다. 인코딩된 신호는 기록 매체에 기록되거나, 전송 채널을 통해 전송되거나, 또는 브로드-캐스트(broad-cast)된다.
"H.264/AVC의 인트라-프레임에 대한 적응 분할 및 예측 코딩"(Piao 등)은 H.264/AVC에서 프로그레시브 비디오 시퀀스(progressive video sequence)에 대해 제안된 인트라-프레임 코딩 방식을 개시한다. 제안된 방법에서, 모든 다른 픽셀은 임의의 안티 앨리어싱 필터링(anti-aliasing filtering)없이 수평 또는 수직 방향으로 샘플링되고, 짝수-픽셀 및 홀수-픽셀의 두개의 서브-프레임이 생성된다. 짝수-픽셀 및 홀수-픽셀 서브 프레임은 개별적으로 인트라 및 인터 프레임 코딩 방법에 의해 코딩된다. 제안된 방법은 짝수-픽셀 서브-프레임이 짝수-픽셀 서브-프레임 및 홀수-픽셀 서브 프레임으로 다시 세분화되는 등 멀티-레벨 경우로 확장될 수 있으며, 그 결과 코딩 효율을 추가로 향상시킨다.
따라서 이러한 맥락에서 개선이 필요하다.
따라서, 본 발명의 목적은 전술한 문제점들을 극복하거나 적어도 완화시키는 것이다. 특히, 비디오 스트림의 캡쳐된 프레임의 복잡한 변환이 요구되는 경우 비디오 캡쳐 시스템의 리소스(resource)에 대한 부하를 감소시키고 원래 캡쳐된 이미지 데이터의 검색을 용이하게 하는 인코딩 방법 및 인코더를 제공하는 것이 목적이다.
본 발명의 제1 양태에 따르면, 비디오 코딩 포맷으로 비디오 스트림을 인코딩하는 방법이 제공되며, 상기 비디오 코딩 포맷은 상기 인코딩된 비디오 스트림 내에 보조 프레임을 포함하고, 상기 보조 프레임은 상기 인코딩된 비디오 스트림에서 다른 프레임에 의해 참조되며 상기 인코딩된 비디오 스트림에서 다른 프레임을 보완하는 이미지 데이터를 포함하고, 상기 보조 프레임은 상기 보조 프레임의 이미지 데이터가 상기 인코딩된 비디오 스트림을 디코딩할 때 도시되는 것으로 의도되는 것이 아니라, 대신 이미지 데이터가 도시되도록 상기 다른 프레임의 데이터와 함께 사용되는 것을 나타내는 플래그 값(flag value)을 포함한다.
상기 방법은:
- 비디오 캡쳐 장치에 의해 캡쳐된 제1 이미지 데이터를 수신하는 단계,
- 디코딩될 때 상기 비디오 스트림에 대한 의도된 해상도를 결정하는 단계,
- 제1 축소 이미지 데이터(scaled down image data)를 얻기 위해 상기 제1 이미지 데이터를 축소하는 단계(여기서, 상기 제1 축소 이미지 데이터는 상기 의도된 해상도보다 낮은 제1 해상도를 가짐)
- 비어 있는 제1 보조 프레임을 준비하는 단계(여기서, 상기 제1 보조 프레임의 이미지 데이터는 상기 의도된 해상도와 동일한 해상도를 가지며, 동일한 사전 정의된 값을 갖는 비트를 포함함),
- 상기 제1 축소 이미지 데이터를 상기 제1 보조 프레임의 이미지 데이터에 붙여 넣는(pasting) 단계,
- 상기 제 1 보조 프레임을 인트라 프레임으로서 인코딩하는 단계,
- 상기 제 1 보조 프레임의 이미지 데이터에서 상기 제1 축소 이미지 데이터를 상기 의도된 해상도를 갖는 제1 확대 이미지 데이터(upscaled image data)로 확대하기 위한 제1 이미지 변환(image transform)을 결정하는 단계,
- 적어도 하나의 미리 결정된 매크로블록 크기(macroblock size)에 따라 상기 제1 이미지 변환으로부터 생성된 픽셀들의 이동을 샘플링함으로써 제1 모션 벡터(motion vector)를 결정하는 단계 및
- 상기 제1 이미지 데이터를 상기 제1 보조 프레임을 참조하는 인터 프레임으로서 제1 프레임으로 인코딩하는 단계(여기서 상기 제1 프레임의 모션 벡터는 상기 제1 모션 벡터에 해당함)를 포함한다.
보조 프레임은 일반적으로 인코딩된 비디오 스트림에서 다른 프레임(마스터 이미지(master image)라고도 알려짐)을 보완하는 이미지 데이터를 저장하는 것을 의미한다. 즉, 상기 다른 프레임은 상기 보조 프레임을 참조한다. 상기 보조 프레임은 보완하는 프레임을 표시하는데 도움을 주기 위해 다양한 형태로 사용될 수 있지만, 일반적으로 그렇게 표시되지는 않는다. 상기 보조 프레임은 보조 이미지, 보조 이미지 항목, 비-표시 프레임, 보조 사진 등으로 나타낼 수 있다. 보조 프레임의 공지된 애플리케이션은 이를 알파 평면(alpha plane) 또는 깊이 맵(depth map)을 위해 사용하는 것을 포함한다.
따라서 상기 제1 프레임(및 하기 제2 및 제3 등)은 마스터 이미지 또는 마스터 프레임(master frame)이라고도 불린다.
본 발명에서, 용어 "해상도(resolution)"는 일반적으로 이미지에서의 픽셀 수를 나타낸다. 해상도는 이미지의 폭과 높이뿐만 아니라, 이미지에서의 총 픽셀 수에 의해 식별된다. 해상도의 또 다른 용어는 "크기(size)" 또는 픽셀 치수(pixel dimension)이다.
"의도된 해상도(intended resolution)"란 일반적으로 비디오 스트림이 예를 들어 4K, 1080P, 720P, DVD, VCD, 1920x1080 등으로 표시되도록 의도된 해상도를 의미한다. 예를 들어, 클라이언트는 특정 해상도(예를 들어 1080P)에서 비디오 스트림을 요청할 수 있거나, 그렇지 않으면 인코더는 인코딩된 비디오 스트림이 예를 들어 인코더에서의 하드-코딩된 값으로 디코딩되거나, 요청하는 클라이언트의 IP 어드레스 또는 유사한 것에 기초하여 디코딩되게 의도된 해상도 값을 알 수 있다. 상기 의도된 해상도는 총 픽셀 양 및 종횡비, 예를 들어 3.6 메가픽셀 및 16*9를 포함할 수도 있다. 의도된 해상도는 일부 실시 형태에 따라 인코딩된 비디오 스트림이 도시되도록 의도된 전자 이미지 장치의 픽셀 밀도에 기초할 수 있다.
"제1 보조 프레임의 이미지 데이터는 의도된 해상도에 해당하는 해상도를 갖는다"(및 제2, 제3 프레임 등에 대한 유사한 표현)라는 문구는 일반적으로 보조 프레임의 이미지 데이터의 크기가 예를 들어 1080P의 의도된 해상도에 대한 1920x1080의 의도된 해상도를 갖는 이미지의 크기에 해당한다는 것을 의미한다.
예를 들어 H.265 인코딩 표준(및 Google의 VP10과 같은 다른 새로운 인코딩 표준) 내에서, 프레임은 프레임이 사용자에게 표시되지 않아야 함을 나타내는 "표시 없음(no-display)"으로 태그(tag)될 수 있다. 예를 들어, H.265에서 슬라이스 헤더(slice header)에서의 pic_output_flag를 false로 설정하거나 SEI 헤더에서의 no_display 플래그를 true로 설정하여 태그가 수행될 수 있다.
본 발명자들은 보조 프레임을 참조하는 프레임과 함께, 이러한 보조 프레임이 전송률 제어(rate control)에 사용될 수 있다는 것을 인지하였고, 상기 보조 프레임의 이미지 데이터는 비디오에 의해 캡쳐된 이미지 데이터의 축소 버전을 포함하며, 상기 보조 프레임을 참조하는 프레임의 모션 벡터를 계산/결정되어 다시 상기 의도된 해상도를 갖도록 이미지 데이터의 축소된 버전을 확대한다. 축소 팩터(downscaling factor), 즉 상기 제1 해상도는 인코딩된 비디오 스트림의 비트 크기의 요구되는 감소를 얻도록 결정될 수 있다. 상기 보조 프레임의 축소된 이미지 데이터는 상기 의도된 해상도를 갖는 이미지 데이터와 비교하여 더 적은 비트를 사용하여 디코딩될 수 있기 때문에, 인코딩된 비디오 스트림을 전송하는데 필요한 대역폭을 줄일 수 있다. 이러한 실시 형태에서, 축소된 이미지 데이터를 포함하지 않는 상기 보조 프레임의 이미지 데이터 부분은 비어있을 것이고, 따라서 매우 적은 비트를 사용하여 인코딩될 수 있다. 예를 들어, 제1 보조 프레임을 I-프레임으로서 인코딩하는 단계는 상기 제1 축소 이미지 데이터를 포함하는 상기 제1 보조 프레임의 이미지 데이터를 인코딩하기 위한 제1 매크로블록 크기(macroblock size) 및 상기 제1 축소 이미지 데이터를 포함하지 않는 상기 제1 보조 프레임의 이미지 데이터를 인코딩하기 위한 제2 매크로블록 크기를 사용하는 단계를 포함할 수 있고, 여기서 상기 제1 매크로블록 크기는 상기 제2 매크로블록 크기보다 작다. 결과적으로, 전송률 제어를 달성하는 또 다른 방법이 제공될 수 있다.
본 실시 형태는 상기 방법이 이러한 비디오 코딩 포맷의 표준을 따르기 때문에 상기 인코딩된 비디오 스트림은 인코더에 의해 사용되는 비디오 코딩 포맷을 지원하는 표준 비디오 스트림 디코더에 의해 디코딩될 수 있다는 점에서 추가로 유리할 수 있다. 또한, 사용자는 스트림을 재시작할 필요없이, 표준 호환 방식(standard compliant way)으로 저해상도 비디오 스트림을 수신할 수 있다는 이점을 얻을 수 있다.
일부 실시 형태에 따라, 상기 방법은:
- 상기 비디오 캡쳐 장치에 의해 캡쳐된 제2 이미지 데이터를 수신하는 단계,
- 제2 축소 이미지 데이터를 얻기 위해 상기 제2 이미지 데이터를 축소하는 단계(여기서, 상기 제2 축소 이미지 데이터의 해상도는 상기 제1 해상도임),
- 제2 비어있는 제2 보조 프레임을 준비하는 단계(여기서 상기 제2 보조 프레임의 이미지 데이터는 상기 의도된 해상도와 동일한 해상도를 가짐),
- 상기 제2 축소 이미지 데이터를 상기 제2 보조 프레임의 이미지 데이터에 붙여 넣는 단계,
- 상기 제2 보조 프레임을 상기 제1 보조 프레임을 참조하는 인터 프레임으로서 인코딩하는 단계,
- 상기 제2 보조 프레임의 이미지 데이터에서 상기 제2 축소 이미지 데이터를 상기 의도된 해상도를 갖는 확대 이미지 데이터로 확대하기 위한 제2 이미지 변환(transform)을 결정하는 단계,
- 상기 제2 이미지 변환을 샘플링(sampling)함으로써 제2 모션 벡터를 결정하는 단계,
- 상기 제2 이미지 데이터를 상기 제2 보조 프레임을 참조하는 인터 프레임으로서 제2 프레임으로 인코딩하는 단계(여기서 제2 프레임의 모션 벡터는 상기 제2 모션 벡터에 해당함)를 추가로 포함한다.
본 발명에 기술된 비디오 인코딩 포맷과 같은 일부 비디오 압축 표준은 예를 들어 I-프레임의 인트라 프레임(intra frame)과 예를 들어 P-프레임 또는 B-프레임의 인터 프레임의 용어로 구현되는 시간적 비디오 압축(temporal video compression)을 제시한다. 인트라 프레임은 기본적으로 인코딩될 이미지 프레임에서의 정보만을 사용하여 인코딩되는 이미지 프레임이다. 또한, 인트라 프레임은 인코딩될 이미지 프레임에 대해 캡쳐된 모든 이미지 데이터로부터 계산된다. 따라서, 인트라 프레임을 전체 프레임이라고 나타낸다. 예측 프레임(predictive frame) 또는 차분 프레임(differential frame)이라고도 하는 인터(inter frame) 프레임은 이전에 (그리고 선택적으로 나중에) 인코딩된 이미지 프레임뿐만 아니라 현재 인코딩된 프레임의 정보에 기초하고, 즉 인터 프레임은 이전 (그리고 선택적으로 나중에) 이미지 프레임에서의 시간적으로 중복되는 정보를 이용하는 것으로 기술될 수 있다. 이러한 유형의 코덱(압축 표준)을 구현하는 인코더는 일반적으로 미리 결정된 수의 인터 프레임에 이어지는 인트라 프레임을 생성한 다음 동일한 수의 인터 프레임에 이어지는 새로운 인트라 프레임을 생성한다. 다수의 인터 프레임에 이어지는 인트라 프레임의 이러한 시퀀스(sequence)의 길이는 종종 GOP 길이(Group of Pictures length)로 나타낸다. 일부 압축 표준, 예를 들어 H.265의 경우, GOP 길이는 인코딩 동안 조절될 수 있다.
본 실시 형태에서, 상기 제2 보조 프레임의 인코딩은 시간적 비디오 압축을 이용한다. 따라서 상기 제2 보조 프레임의 인코딩은 이전의 상기 제1 보조 프레임에서 시간적으로 중복되는 정보를 이용한다. 따라서 인코딩된 제2 보조 프레임은 제1 보조 프레임의 이미지 데이터(즉, 제 1 이미지 데이터)와 제1 보조 프레임에 존재하지 않는 이미지 콘텐츠(content)를 기술하는 이미지 데이터와 관련된 제2 이미지 데이터의 모션 벡터 변위(motion vector displacement) 및 예측 에러(잔여값(residual value)이라고도 함)를 포함할 수 있다.
상기 개시된 실시 형태는 정의된 GOP 길이에 따라 비디오 캡쳐 장치에 의해 캡쳐된 제3, 제4 등의 이미지 데이터에 대해 반복될 수 있음을 의미하는 반복 방식으로 수행될 수 있다. 그런 다음, 다수의 인터 프레임에 이어 인트라 프레임의 새로운 시퀀스가 시작될 수 있다. 결과적으로, 일부 실시 형태에 따르면, 상기 방법은:
- 비디오 기록 장치에 의해 제3 이미지 데이터를 캡쳐하는 단계,
- 제3 축소 이미지 데이터를 얻기 위해 상기 제3 이미지 데이터를 축소하는 단계(여기서, 상기 제3 축소 이미지 데이터는 제2 해상도를 가지고 상기 제2 해상도는 상기 제1 해상도와 다르며 상기 의도된 해상도보다 낮음),
- 제3 비어 있는 제3 보조 프레임을 준비하는 단계(여기서, 상기 제3 보조 프레임의 이미지 데이터는 상기 의도된 해상도와 동일한 해상도를 가짐),
- 상기 제3 축소 이미지 데이터를 상기 제3 보조 프레임의 이미지 데이터에 붙여 넣는 단계,
- 상기 제3 보조 프레임을 인트라 프레임으로 인코딩하는 단계,
- 상기 제3 보조 프레임의 이미지 데이터에서 상기 제3 축소 이미지 데이터를 상기 의도된 해상도를 갖는 제3 확대 이미지 데이터로 확대하기 위한 제3 이미지 변환을 결정하는 단계,
- 상기 제3 이미지 변환을 샘플링하여 제3 모션 벡터를 결정하는 단계,
- 상기 제3 이미지 데이터를 상기 제3 보조 데이터를 참조하는 인터 프레임으로서 제3 프레임으로 인코딩하는 단계(여기서, 상기 제3 프레임의 모션 벡터는 상기 제3 모션 벡터에 해당함)를 추가로 포함한다.
새로운 GOP가 시작되고, 인터 프레임 인코딩된 보조 프레임으로 나타나는 프레임에서 축소 팩터(제2 해상도가 제1 해상도와 상이함)를 변경하는 것은 인터 프레임이 보조 프레임의 모든 이미지 데이터로부터 계산되고, 결과적으로 상이한 축소 팩터(제1 해상도)에 기초하여 인코딩되는 이전 프레임에 의존하지 않는다는 점에서 유리할 수 있다. 인코딩 동안 상기 축소 팩터가 변경되도록 함으로써, 인코더는 인코딩된 비디오 스트림의 크기 감소, 예를 들어 가용 대역폭의 변화에 대한 새로운 요건(requirment)에 매우 신속하게 반응할 수 있고, 따라서 향상된 전송률 제어를 제공한다. 일부 실시 형태에 따르면, GOP 길이는 인코딩 동안 변경되기 때문에, 인코더는 새로운 요건에 보다 신속하게 적용될 수 있다.
일부 실시 형태에 따르면, 상기 방법은:
- 제3 해상도에서 상기 인코딩된 비디오 스트림에 포함될 상기 제1 이미지 데이터의 섹션(ROI1)을 결정하는 단계(상기 제3 해상도는 상기 제1 해상도보다 높음),
- 상기 ROI1이 상기 제1 축소 이미지 데이터를 덮어 쓰지 않거나, 상기 ROI1이 상기 제1 축소 이미지 데이터와 중첩(overlap)되지 않게 하기 위해 상기 제1 축소 이미지 데이터에 의해 덮어 써지도록 상기 제1 보조 프레임의 이미지 데이터에 상기 제3 해상도를 갖는 상기 ROI1를 붙여 넣는 단계,
- 상기 의도된 해상도를 갖는 상기 ROI1을 상기 제1 확대 이미지 데이터에 삽입하기 위해 제4 이미지 변환을 결정하는 단계,
- 상기 제4 이미지 변환을 샘플링하여 제4 모션 벡터를 결정하는 단계를 추가로 포함하고,
상기 제1 이미지 데이터를 인터 프레임으로서 상기 제1 프레임으로 인코딩하는 단계는 상기 제1 모션 벡터와 상기 제4 모션 벡터에 해당하는 상기 제1 프레임의 모션 벡터를 결정하는 단계를 포함하는 것을 특징으로 한다.
이러한 실시 형태에서, 상기 제1 보조 프레임의 이미지 데이터의 비어있는 부분은 뷰어(또는 이미지 분석 소프트웨어)가 특별한 관심, 예를 들어 사람의 얼굴 또는 차의 번호판일 수 있는 고해상도 이미지 데이터를 제공하기 위해 사용된다. 상기 제1 프레임의 모션 벡터를 재구성(reconfiguring)함으로써, 비디오 캡쳐 장치에 의해 캡쳐된 이미지 데이터의 임의의 제공된 관심 영역에 대해 디코딩된 비디오 스트림에서 보다 높은 해상도가 달성될 수 있다. 상기 제4 모션 벡터는 결과적으로 상기 ROI1을 상기 제1 확대 이미지 데이터의 올바른 위치(상기 제1 이미지 데이터에서의 상기 ROI1의 위치에 해당함)로 맵핑(map)한다.
일부 실시 형태에 따르면, 상기 방법은:
- 상기 제3 해상도에서의 상기 인코딩된 비디오 스트림에 포함될 상기 제2 이미지 데이터의 섹션(ROI2)을 결정하는 단계,
- 상기 ROI2가 상기 제2 축소 이미지 데이터를 덮어 쓰지 않거나 상기 제2 축소 이미지 데이터에 의해 덮어 써지도록 상기 제2 보조 프레임의 이미지 데이터에 상기 제3 해상도를 갖는 상기 ROI2를 붙여 넣는 단계,
- 상기 제2 확대 이미지 데이터에 상기 의도된 해상도를 갖는 상기 ROI2를 삽입하는 것으로부터 제5 이미지 변환을 결정하는 단계,
- 상기 제4 이미지 변환을 샘플링하여 제5 모션 벡터를 결정하는 단계를 추가로 포함하고,
상기 제2 이미지 데이터를 상기 인터 프레임으로서 상기 제2 프레임으로 인코딩하는 단계는 상기 제2 모션 벡터 및 상기 제5 모션 벡터에 해당하는 상기 제2 프레임의 모션 벡터를 결정하는 단계를 포함하는 것을 특징으로 한다.
ROI2는 일반적으로 ROI1과 동일한 물체를 나타내는데, 이는 상기 제2 보조 프레임의 인터 프레임 인코딩이 더욱 효과적일 수 있기 때문에 인코딩 관점에서 유리할 수 있다. 그러나, 이는 항상 그런 것은 아니며, 상기 보조 프레임에서 고해상도 버전에 포함되도록 결정된 상기 제1 및 제2 이미지 데이터의 섹션이 예를 들어, 상기 제1 보조 프레임에서 번호판을 보여주고 상기 제2 보조 프레임에서 운전자의 얼굴을 보여주는 것과 같이 다를 수 있다. 상기 제5 모션 벡터는 결과적으로 상기 ROI2를 상기 제2 확대 이미지 데이터에서 올바른 위치(상기 제2 이미지 데이터에서 상기 ROI2의 위치에 해당함)로 맵핑한다.
일부 실시 형태에 따르면, 상기 ROI1 및 ROI2는 각각 상기 제1 및 제2 보조 프레임의 이미지 데이터로 해당하는 위치에 붙여 넣어진다. 이는 인터 프레임이 상기 제2 보조 프레임의 이미지 데이터를 인코딩할 때 인코딩 관점에서 유리할 수 있으며, 이는 상기 인코더가 예전(제1 ) 보조 프레임의 이미지 데이터에서 유사한 매크로블록을 검색할 때 상기 인코더의 블록 매칭 알고리즘의 탐색 윈도우가 더 작을 수 있기 때문이다.
일부 실시 형태에 따르면, 상기 제3 해상도는 상기 의도된 해상도와 동일하고 상기 의도된 해상도보다 큰 것 중 하나이다. 이러한 실시 형태는 디코딩되고 표시될 때 상기 ROI1에 대한 디테일 레벨(level of detail)을 증가시킬 수 있다.
일부 실시 형태에 따르면, 상기 의도된 해상도는 상기 비디오 기록 장치에 의해 캡쳐된 이미지 데이터의 해상도와 동일하다. 이는 축소 이미지 데이터가 상기 캡쳐된 이미지 데이터(낮은 축소 팩터)와 비교하여 요건에 따라 높은 손실의 디테일(높은 축소 팩터)을 낮춰 디테일의 손실을 거의 가져 오지 않도록 축소 팩터가 가변될 수 있기 때문에 인코딩 방법의 유연성을 증가시킬 수 있다. 그러나, 상기 의도된 해상도는 일부 실시 형태에 따라 상기 비디오 기록 장치에 의해 캡쳐된 이미지 데이터의 해상도보다 낮을 수도 있다.
일부 실시 형태에 따르면, 상기 비디오 코딩 포맷은 고효율 이미지 파일 포맷(High Efficiency Image File Format), 고효율 비디오 코딩(High Efficiency Video Coding), H.265, H.264, VP10, VP9, AV1, 고급 비디오 코딩(Advanced Video Coding) 및 H.266의 리스트 중 하나이다. 그러나, 본 명세서에서 설명된 바와 같이 보조 프레임을 지원하는 임의의 비디오 코딩 포맷이 본 발명에 포함되는 것을 주목해야 한다.
일부 실시 형태에 따르면, 상기 방법은 상기 인코더가 접속된 디지털 네트워크의 비트 전송률에 기초하여 상기 제1 해상도를 결정하는 단계를 포함한다. 예를 들어, 상기 인코더 및/또는 전송률 제어기는 예를 들어 전송된 비디오 스트림의 인코더와 수신기 사이의 링크(link)를 통해 지속적인 트래픽을 푸시하는 애플리케이션으로부터의 비트 전송률에 관한 리포트를 연속적으로 수신하고, 시간에 따른 평균을 계산할 수도 있다. 비트 전송률의 또 다른 예는 인코더가 접속된 디지털 네트워크의 최대 업로드 속도(사전 설정 값)이다. "비트 전송률(bit rate)"이라는 용어는 일반적으로 인코더가 접속된 디지털 네트워크의 유효 처리량을 의미한다. 상기 내용은 제2 해상도에 대해 동일하게 적용된다. 제1 /제2 해상도를 결정하는 다른 방법은 하기에서 설명될 것이다.
본 발명의 제2 양태에 따르면, 상기 목적은 처리 능력을 갖는 장치에 의해 실행될 때 상기 제1 양태의 방법을 수행하도록 적용된 명령어들을 갖는 컴퓨터 판독 가능 저장 매체를 포함하는 컴퓨터 프로그램 제품에 의해 달성된다.
제3 양태에 따르면, 상기 목적은, 비디오 코딩 포맷에서 비디오 기록 장치에 의해 캡쳐된 비디오 스트림을 인코딩하도록 적용된 인코더에 의해 달성되며, 상기 비디오 코딩 포맷은 상기 인코딩된 비디오 스트림에 보조 프레임을 포함하고, 상기 보조 프레임은 상기 인코딩된 비디오 스트림에서 다른 프레임에 의해 참조되며 상기 인코딩된 비디오 스트림에서 다른 프레임을 보완하는 이미지 데이터를 포함하고, 상기 보조 프레임은 상기 보조 프레임의 이미지 데이터가 상기 인코딩된 비디오 스트림을 디코딩할 때 나타나도록 의도되는 것이 아니라 상기 다른 프레임의 데이터와 함께 사용되어 이미지 데이터가 나타나도록 하는 것을 나타내는 플래그 변수(flag variable)를 포함하며, 여기서, 상기 인코더는:
- 상기 비디오 캡쳐 장치에 의해 캡쳐된 제1 이미지 데이터를 수신하고,
- 디코딩될 때 상기 비디오 스트림에 대한 의도된 해상도를 결정하며,
- 제1 축소 이미지 데이터를 얻기 위해 상기 제1 이미지 데이터를 축소하고(여기서, 상기 제1 축소 이미지 데이터는 상기 의도된 해상도보다 낮은 제1 해상도를 가짐),
- 비어 있는 제1 보조 프레임을 준비하며(여기서, 상기 제1 보조 프레임의 이미지 데이터는 상기 의도된 해상도와 동일한 해상도를 가지고, 모두 동일한 미리 정의된 값을 갖는 비트들을 포함함),
- 상기 제1 축소 이미지 데이터를 상기 제1 보조 프레임의 이미지 데이터로 붙여 넣고,
- 상기 제 1 보조 프레임을 인트라 프레임으로 인코딩하며,
- 상기 제1 보조 프레임의 이미지 데이터에서 상기 제1의 축소 이미지 데이터를 상기 의도된 해상도를 갖는 제1 확대 이미지 데이터로 확대하기 위한 제1 이미지 변환을 결정하고,
- 적어도 하나의 미리 결정된 매크로블록 크기에 따라 상기 제1 이미지 변환으로부터 생성된 픽셀들의 이동을 샘플링함으로써 제1 모션 벡터들을 결정하며,
- 상기 제1 이미지 데이터를 상기 제1 보조 프레임을 참조하는 인터 프레임으로서 제1 프레임으로 인코딩(여기서, 상기 제1 프레임의 모션 벡터는 상기 제1 모션 벡터에 해당함)하도록 추가로 적용된다.
제4 양태에 따르면, 상기 목적은 상기 제3 양태에 따른 인코더를 포함하는 시스템에 의해 달성되며, 상기 인코더는 디지털 네트워크를 통해 디코더에 접속되고, 상기 디코더는 상기 인코더의 비디오 코딩 포맷으로 인코딩된 비디오 스트림을 디코딩하도록 배치되며, 상기 인코더는:
- 상기 디지털 네트워크를 통해 상기 의도된 해상도를 수신하고,
- 제1 해상도를 수신하며,
- 상기 수신된 의도된 해상도 및 상기 수신된 제1 해상도에 따라 상기 비디오 스트림을 인코딩하고,
- 상기 인코딩된 비디오 스트림을 상기 디지털 네트워크를 통해 전송하도록 적용되며,
상기 디코더는:
- 상기 디지털 네트워크를 통해 상기 인코딩된 비디오 스트림을 수신하고,
- 디코딩된 비디오 스트림을 얻기 위해 상기 인코딩된 비디오 스트림을 디코딩하도록 적용된다.
일부 실시 형태에 따르면, 상기 시스템은 디스플레이(display)를 더 포함하고, 상기 인코더는:
- 제3 해상도에서 상기 인코딩된 비디오 스트림에 포함될 제1 이미지 데이터의 섹션(ROI1)을 결정하고(상기 제3 해상도는 상기 제1 해상도보다 높음),
상기 ROI1은 상기 제1 축소 이미지 데이터를 덮어 쓰지 않거나, 상기 ROI1이 상기 제1 축소 이미지 데이터와 중첩되지 않도록 하기 위해 상기 제1 축소 이미지 데이터에 의해 덮어 써지도록 상기 제1 보조 프레임의 이미지 데이터에 상기 제3 해상도를 갖는 ROI1을 붙여 넣으며,
- 상기 의도된 해상도를 갖는 상기 ROI1을 상기 제1 확대 이미지 데이터에 삽입하기 위해 제4 이미지 변환을 결정하고,
- 상기 제4 이미지 변환을 샘플링하여 제4 모션 벡터를 결정하도록 적용되며,
상기 제1 이미지 데이터를 인터 프레임으로서 상기 제1 프레임으로 인코딩하는 단계는 상기 제1 모션 벡터 및 상기 제4 모션 벡터에 해당하는 상기 제1 프레임의 모션 벡터를 결정하는 단계를 포함하고,
상기 디코더는:
- 디코딩된 비디오 스트림을 얻기 위해 상기 인코딩된 비디오 스트림을 디코딩하며(여기서, 상기 디코딩은 상기 제1 보조 프레임의 이미지 데이터로부터 상기 ROI1을 추출하는 것을 포함함),
- 상기 디코딩된 비디오 스트림과 별도로 상기 ROI1을 디스플레이에서 표시하도록 추가로 적용된다.
이러한 실시 형태에서, 커스텀 디코더(custom decoder)는 상기 인코더의 비디오 코딩 포맷을 지원하는 디코더의 표준 디코딩 방법에 따라 상기 인코딩된 비디오 스트림을 디코딩하는 동시에, 예를 들어 스틸 이미지(still image) 또는 상기 ROI1의 이미지 데이터를 포함하는 제2 디코딩된 비디오 스트림을 제공하기 위해 상기 제1 보조 프레임으로부터 상기 ROI1의 이미지 데이터(및 선택적으로 후속 보조 프레임으로부터 다른 관심 영역)를 추출하는 것을 포함한다. 이러한 실시 형태는 특별한 관심 영역(ROI1)이 별도로 도시되어, 뷰어가 상기 ROI1이 추출되는 이미지 데이터의 나머지 부분(들)의 이미지 콘텐츠에 의해 방해받지 않고 상기 ROI1의 이미지 콘텐츠를 볼 수 있다는 점에서 유리할 수 있다. 상기 ROI1의 별도로 표시하는 것은 디코딩된 ROI1의 해상도가 상기 디코딩된 비디오 스트림의 해상도보다 크고 따라서 디코딩된 비디오 스트림의 이미지 콘텐츠에 삽입될 때 축소되므로 특히 유리할 수 있다. 이러한 이유로, 일부 실시 형태에 따라, 상기 제3 해상도는 상기 의도된 해상도보다 크며, 상기 디코딩된 비디오 스트림과 별도로 디스플레이 상에 ROI1을 표시하는 단계는 상기 ROI1을 디스플레이상의 제3 해상도로 표시하는 단계를 포함한다.
상기 제2, 제3 및 제4 양태는 일반적으로 상기 제1 양태와 동일한 특징 및 이점을 가질 수 있다. 또한, 본 발명은 달리 명시적으로 언급되지 않는 한 특징의 모든 가능한 조합에 관한 것이다.
본 발명의 추가의 목적, 특징 및 이점뿐만 아니라 상기 및 추가의 목적, 특징 및 이점은 첨부된 도면을 참조하여 본 발명의 바람직한 실시 형태에 대한 하기의 예시적이고 비-제한적인 상세한 설명을 통해 더 잘 이해될 것이며, 동일한 참조 번호는 유사한 요소에 대해 사용된다.
도 1은 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하는 방법의 제1 실시 형태를 개략적으로 나타낸다.
도 2는 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하는 방법의 제2 실시 형태를 개략적으로 나타낸다.
도 3은 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하는 방법의 제3 실시 형태를 개략적으로 나타낸다.
도 4는 도 3에 따른 인코더를 포함하는 시스템을 개략적으로 나타내며, 상기 인코더는 디지털 네트워크를 통해 디코더에 접속되고, 상기 디코더는 상기 인코더의 비디오 코딩 포맷으로 인코딩된 비디오 스트림을 디코딩하도록 배치된다.
도 5는 실시 형태에 따른 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하는 방법을 나타내는 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 형태를 상세히 설명한다. 본 발명에 개시된 시스템 및 장치는 작동 동안에 설명될 것이다.
본 발명은 인코딩된 비디오 스트림에서 보조 프레임을 포함하는 것을 지원하는 비디오 코딩 포맷에 대해 진행중인 비디오 스트림의 동적 크기 조정(dynamic resizing)을 제공하는 것을 목적으로 한다. 이는 전송률 제어기가 인코딩된 비디오 스트림의 비트 크기(비트 전송률)를 낮추는 것이 요구될 때 작동할 수 있는 다른 가능성(압축 및 프레임 전송률 제외)을 제공하며, 이는 낮은 가용 비트 전송률에서 특히 유리할 수 있다. 예를 들어, 압축률을 낮게 유지하면서(예를 들어, 28에서 양자화 파라미터, QP) 저해상도 비디오 스트림(예를 들어 VGA 비디오)은 모든 인코딩된 비디오 스트림이 동일한 비트 전송률을 가질지라도 높은 압축비(예를 들어, 46에서 QP)를 갖는 고해상도 비디오 스트림(예를 들어, FHD 비디오)과 비교하여 더 나은 품질을 얻을 수 있다.
본 발명의 실시 형태는 도 1 내지 도 2 및 도 5와 함께 설명될 것이다.
도 1은 세개의 이미지 프레임(106a-c)을 포함하는 비디오 스트림(106)으로 나타나는 비디오 캡쳐 장치(104)에 의해 캡쳐된 장면(102)을 도시한다. 도 1의 하부는 인코딩된 비디오 스트림에서 보조 프레임을 포함하는 것을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하기 위한 방법의 일 실시 형태를 예시한다. 인코더(108)는 비디오 기록 장치(104)에 의해 캡쳐된 제1 이미지 데이터(106a)를 수신한다. 인코더(108)는 디코딩될 때 비디오 스트림에 대한 의도된 해상도를 결정한다. 본 발명에 기술된 바와 같이, 의도된 해상도는 비디오 기록 장치(104)에 의해 캡쳐된 이미지 데이터(106)의 해상도와 동일할 수 있다. 그러나, 의도된 해상도는 또한 비디오 기록 장치(104)에 의해 캡쳐된 이미지 데이터(106)의 해상도와 다를 수 있다. 예를 들어, 비디오 기록 장치는 매우 높은 해상도로 비디오를 캡쳐할 수 있고, 인코딩된 비디오 스트림이 전송되고 추후 디코딩되는 해상도가 동일하게 높을 필요는 없다. 이러한 이유로, 의도된 해상도는 비디오 기록 장치(104)에 의해 캡쳐된 이미지 데이터(106a-c)의 해상도보다 낮을 수 있다. 의도된 해상도는 상이한 방식으로 인코더에 알려질 수 있다. 예를 들어, 의도된 해상도는 인코더(108)로부터 검색 가능한 하드코딩된 값(hardcoded value)(예를 들어, 인코더(108)의 메모리)일 수 있다. 의도된 해상도는 또한 인코더(108)에서 구성 가능한 값일 수 있다. 구성(configuration)은 사용자에 의해 수행되거나, 인코딩된 비디오 스트림을 요청하는 장치로부터 설정되는 경우일 수 있다. 물론 의도된 해상도를 결정하는 다른 방법도 가능하다.
그런 다음, 인코더는 제1 축소 이미지 데이터(114)를 얻기 위해 제1 이미지 데이터(106a)를 축소(S504)하고, 여기서 제1 축소 이미지 데이터는 의도된 해상도보다 낮은 제1 해상도(118x*118y)를 갖는다. 축소는 최근접 보간법(Nearest-neighbor interpolation), 양선형 및 3차 회선 알고리즘(Bilinear and bicubic algorithms), 박스 샘플링(Box sampling) 등과 같은 임의의 공지된 이미지 스케일링 알고리즘을 사용하여 수행될 수 있다.
제1 해상도는 인코더(108)가 접속되는 디지털 네트워크의 비트 전송률에 기초하여 결정/설정될 수 있다(S502). 제1 해상도는 인코더(108)로부터 검색 가능한 하드코딩된 값(예를 들어, 인코더의 메모리에서)에 따라 추가로 설정될 수 있다(S502). 제1 해상도는 또한 인코더에서 구성 가능한 값일 수 있다. 구성은 예를 들어, 사용자에 의해 수행되거나, 인코딩된 비디오 스트림을 요청하는 장치로부터 설정되는 경우일 수 있다. 제1 해상도는 인코딩된 비디오 스트림이 비트 전송률 요건을 충족시키도록 결정/설정된다(S502). 제1 해상도는 반복적인 방식으로 설정될 수 있어(S502), 인코딩된 비디오 스트림의 비트 전송률/크기가 연속적으로 측정되고, 의도된 해상도가 측정 및 비트 전송률 요건에 기초하여 적용된다. 어떤 경우에도, 축소 팩터(scale down factor)라고도 지칭될 수 있는 제1 해상도는 설정되고(S502), 수신된 이미지 데이터(106a-c)를 축소하기 위해 사용된다.
그런 다음, 인코더(108)는 제1 보조 프레임(110a)을 준비하고, 제1 보조 프레임(110a)의 이미지 데이터는 의도된 해상도에 해당하는 해상도(116x*116y)를 갖는다. 보조 프레임(110a)의 이미지 데이터는 이러한 지점에서 비어있을 것이고(모든 비트는 0 값을 가짐), 대안적으로 모든 비트는 예를 들어 검정색, 흰색 또는 녹색에 해당하는 기본값(default value)을 가질 것이다. 미리 정의된 색상에 해당하는 기본값을 갖는 것은 인코더 관점에서 유리할 수 있다. 예를 들어, 같은 값(색상)이 모든 곳에서 사용되는 경우 비트 전송률 비용이 낮아질 수 있고, 여기서 값은 인코딩하기 쉽다(예를 들어 검정색, 흰색 또는 녹색). 그런 다음 제1 축소 데이터(114)는 이후에 인트라 프레임으로서 인코딩되는 제1 보조 프레임(110a)의 이미지 데이터에 삽입된다(S506). 도 1의 예에서, 제1 축소 데이터(114)는 보조 프레임(110a)의 이미지 데이터의 "우측 상단"에 삽입된다(이미지 데이터는 도 1에서 매트릭스로서 시각화됨). 그러나, 제1 축소 데이터는 제1 축소 데이터에 속하는 비트의 인덱스가 추후에 제1 모션 벡터를 결정할 때 기억되는 한, 제1 보조 프레임(110a)의 이미지 데이터에서의 임의의 위치에 삽입될 수 있다(하기 참조).
추후에 제1 축소 이미지 데이터(114)를 의도된 해상도(116x*116y)로 확대할 수 있도록, 모션 벡터(120)가 결정된다(S508). 모션 벡터(120)는 제1 보조 프레임(110a)의 이미지 데이터에서 제1 축소 이미지 데이터(114)를 의도된 해상도(116x*116y)를 갖는 제1 확대 이미지 데이터로 확대(디지털 물질의 확대는 업스케일링(upscaling) 또는 해상도 향상으로 알려져 있음)에 해당한다. 따라서 모션 벡터는 제1 축소 데이터(114)에서의 매크로블록을 의도된 해상도를 갖는 제1 확대 이미지 데이터에서의 새로운 위치로 "이동(move)"시킬 것이다. 디코더에서의 실제 확대를 위한 알고리즘은 디코더의 구현에 의존하지만, 일반적으로 최근접 보간법, 양선형 및 3차 회선 알고리즘, 박스 샘플링 등과 같은 임의의 공지된 이미지 스케일링 알고리즘이 사용될 수 있다.
확대는 의도된 해상도(116x*116y), 제1 해상도(118x*118y) 및 제1 축소 이미지 데이터(114)가 보조 이미지(110a)의 이미지 데이터에 삽입되는 방식에 기초하여 결정되는 이미지 변환식(이미지 전환, 이미지 변환 등)에 의해 형성된다. 이미지 변환식은 제1 축소 이미지 데이터(114)(및 제2, 제3 축소 이미지 데이터 등)에 적용될 때, 제1 해상도(118x*118y)를 갖는 제1 축소 이미지 데이터(114)를 의도된 해상도(116x*116y)를 갖는 이미지 데이터로 확대할 것이다. 모션 벡터는 이미지 변환식을 나타내며, 많은 방법으로 결정될 수 있다. 일부 실시 형태에 따르면, 모션 벡터는 결정된 매크로블록 크기에 따라 이미지 변환식을 샘플링함으로써 결정된다. 예를 들어, 이미지 변환식이 특정 픽셀을 오른쪽으로 5 픽셀 이동하고 3 픽셀 아래로 이동해야 하는 경우, 이러한 픽셀의 실제 이동은 샘플링 크기(매크로블록 크기) 및 인접 픽셀에 대한 변환을 기반으로 결정된다. 다른 실시 형태에 따르면, 복수의 매크로블록 크기가 샘플링에 사용되며, 여기서 매핑 방식의 특정 영역에 사용되는 매크로블록 크기는 이미지 변환식이 해당 영역에 대해 어떻게 보이는지에 의존한다. 예를 들어, 매크로블록 크기는 16x16에서 4x4까지 변할 수 있다. 이러한 실시 형태는 모션 벡터에 대한 비트 전송률의 비용을 낮추고, 보다 작은 매크로블록이 더욱 정확한 샘플링/맵핑으로 나타나는 이미지 변환식의 로컬 영역에 대해 대부분의 비트를 사용하는 효율적인 방식일 수 있고, 변환이 더욱 균일한 로컬 영역에 대해 대부분의 비트를 사용하는 효율적인 방식일 수 있다.
모션 벡터에 대한 비트 전송률의 비용을 더 낮추기 위해, 샘플링은 보다 작게 할 수 있어(매크로블록의 크기를 증가시킴), 디코더는 수신된 모션 벡터들 사이를 보간(interpolate)하여 더 작은 매크로블록에 대한 모션 벡터를 계산할 수 있고, 보조 프레임에서 이미지 데이터의 보다 부드러운 변환을 달성할 수 있다. 이는 인코딩된 비트 스트림에서 보간 파라미터를 포함하거나, p-프레임 등의 헤더에 플래그를 설정함으로써 이뤄질 수 있다.
다른 실시 형태에 따르면, 모션 벡터를 얻기 위해 이미지 변환식의 샘플링은 보조 프레임(110a)에서 축소된 이미지 데이터(114)의 해당 영역의 디테일 레벨에 기초하여 이루어진다. 예를 들어, 높은 차수의 직선 라인(degree of line)(임의의 적절한 엣지 검출 알고리즘(edge detection algorithms)을 사용하여 결정될 수 있음)을 포함하는 축소 이미지 데이터(114)에서의 로컬 영역에 대해, 보다 조밀한 샘플링(더 작은 매크로블록 크기)이 이미지 변환에서 해당 영역을 위해 요구될 수 있다. 낮은 차수의 라인을 갖는 영역의 경우, 더 적은 샘플링이 이용될 수 있다.
제1 모션 벡터(120)가 결정되면, 제1 프레임(112a)은 제1 보조 프레임(110a)(전술한 바와 같이 인트라 프레임으로 인코딩됨)을 참조하는 인터 프레임으로서 인코딩될 수 있으며(S510), 제1 프레임(112a)의 모션 벡터(120)(제1 프레임(112a)에서 화살표로 개략적으로 도시됨)는 전술한 바와 같이 결정된 제1 모션 벡터(120)에 해당한다. 제1 프레임(112a)의 모션 벡터(120)는 사전 계산될 수 있고, 예를 들어 인코더에 의해 접근 가능한 메모리에 저장될 수 있다. 제1 해상도와 의도된 해상도 사이의 비(ratio)는 예를 들어, 비 및 해당하는 모션 벡터를 갖는 데이터베이스(이러한 데이터베이스에서의 값은 축소 이미지 데이터가 특정 방법, 예를 들어 상부 좌측 모서리 또는 하부 좌측 모서리 등에서 특별한 방식으로 보조 프레임의 이미지 데이터에 삽입되는 것으로 가정할 수 있음) 룩업(look up) 값으로서 사용될 수 있다. 또한 모션 벡터는 전술한 바와 같이 의도된 해상도 및 제1 해상도에 기초하여 인코더(108)의 실행시에 계산될 수 있다.
전술한 바와 같이, 본 발명의 이점은 인코더(예를 들어, H.265)에 의해 사용되는 비디오 코딩 포맷을 지원하는 표준 디코더가 도 1에 따른 비디오 스트림을 디코딩할 수 있다는 것이다. 디코더는 제1 프레임(112a)의 모션 벡터(120)를 제1 보조 프레임(110a)의 제1 축소 이미지 데이터(114)에 적용하여 제1 보조 프레임(110a)의 제1 축소 이미지 데이터(114)를 확대하고, 따라서 의도된 해상도(116x*116y)를 갖는 이미지 데이터를 디코딩하게 된다.
도 2는 비디오 스트림(106)의 3개의 캡쳐된 이미지 프레임(이미지 데이터)(106a-c) 모두가 인코더(108)에 의해 인코딩되는 도 1에 설명된 방법의 연장부를 도시한다. 도 2에서, 제1 이미지 데이터(106a)는 도 1 및 도 5에서의 S502-S510 단계에서 설명된 바와 같이 인코딩되어, 인코딩된 제1 프레임(112a) 및 인코딩된 제1 보조 프레임(110a)을 얻는다. 제1 이미지 데이터(106a)를 인코딩한 후, 인코더(108)는 제2 이미지 데이터(106b)를 수신한다. 제2 보조 프레임(110b)의 이미지 데이터는 제1 보조 프레임(110a)에 대해 전술한 것과 유사한 방식으로 컴파일(compile)된다.
제2 보조 프레임(110b)은 이전 이미지 프레임들, 이러한 경우 제1 보조 프레임(110a)에서 시간적 중복 정보를 이용하기 위해 제1 보조 프레임(110a)을 참조하는 인터 프레임(예를 들어, P-프레임)으로서 인코딩되는 것이 유리하다. 따라서 제2 보조 프레임(110b)의 인코딩은 일부 실시 형태에 따라 제2 이미지 데이터(106b)와 제1 이미지 데이터(106a) 사이의 비교에 기초하여 만들어진다. 도 2에서, 인코딩된 제2 보조 프레임(110b)은 모션 벡터(상부 우측 모서리)에 개략적으로 나타내었지만, 이미지 콘텐츠를 설명하는 이미지 데이터는 제1 보조 프레임의 이미지 데이터에는 존재하지 않고 제2 이미지 데이터에 존재하고 및/또는 예측 에러(잔여값이라고도 함)가 인코딩된 제2 보조 프레임(110b)에 포함될 수도 있다.
다른 실시 형태에 따르면, 제2 보조 프레임(110b)은 또한 I-프레임으로서 인코딩된다.
인코더(108)는 제2 보조 프레임(110b)을 참조하는 제2 프레임(112b)를 인코딩함으로써 계속되고, 제2 프레임은 인터 프레임으로서 인코딩된다. 제2 프레임의 모션 벡터는 이들이 제2 보조 프레임(110b)의 이미지 데이터에서의 제2 축소 이미지 데이터를 의도된 해상도를 갖는 제2 확대 이미지 데이터로 확대하는 것에 해당하도록 결정된다. 이런 경우, 제2 이미지 데이터(106b)는 제1 이미지 데이터(106a)와 동일한 스케일링 팩터(scaling factor)를 사용하여 축소되므로, 제2 프레임(112b)의 모션 벡터는 제1 프레임(112a)의 모션 벡터와 동일하고, 제2 축소 이미지 데이터는 제1 보조 프레임(110a)에 제1 축소 이미지 데이터(114)가 삽입된 방식에 해당하는 제2 보조 프레임(110b)의 이미지 데이터에서의 위치에 삽입된다. 결과적으로, 제2 프레임(112b)의 모션 벡터는 제1 프레임의 모션 벡터를 복사함으로써 결정될 수 있다. 제1 프레임(112a)에 대해 도 1과 함께 전술한 바와 같이, 제2 프레임의 모션 벡터를 결정하는 임의의 다른 방법이 이용될 수 있다. 즉, 추가 보조 프레임(110b)과 추가 프레임(112b)은 이미지 데이터(106b)를 추가로 사용하고 의도된 해상도 및 축소 팩터/제 1 해상도에 따라 결정된다(S512). 추가 보조 프레임(110b)은 이전 보조 프레임(110a)을 참조하는 인터 프레임으로서 인코딩된다. 추가 프레임(112b)은 추가 보조 프레임(110b)을 참조하는 인터 프레임으로서 인코딩된다. GOP의 끝에 도달(도 5의 단계(S512)에서 결정된 바와 같음)하지 않는 한, 인터 프레임 인코딩된 보조 프레임 및 인터 프레임 인코딩된 정규 프레임을 인코딩하는 상기 단계(S512)는 라인에서의 다음의 이미지 데이터(예를 들어, 제3 이미지 데이터(106c))에 대해 반복/되풀이된다.
GOP의 끝에 도달하면(도 5의 단계 (512)에서 결정된 바와 같이), 새로운 축소 팩터가 필요한지가 결정된다(예를 들어, 새로운 축소 팩터가 새로운 요건을 충족시키거나, 현재 요건을 충족시키기에 충분하지 않은 이전 축소 팩터이도록 비트 전송률이 변경되는 요건을 가짐). 그렇지 않으면, 인코딩 단계는 라인에서의 다음 이미지 데이터(예를 들어, 제3 이미지 데이터(106c))에 대해 S504 단계에서 계속된다.
본 발명의 이점은 캡쳐된 이미지 데이터(106a-106c)의 동적 크기 조정이 이뤄질 수 있다는 것이다. 결과적으로, 인코더는 인코딩된 비디오 스트림의 비트 크기(비트 전송률)의 감소, 예를 들어 가용 대역폭의 변화에 관한 새로운 요건에 매우 신속하게 반응할 수 있다. 도 2의 예에서, 제3 이미지 데이터(106c)에 대해, 새로운 축소 팩터가 필요하다고 결정되고(S516), 이러한 예에서 더 낮은 축소 팩터가 예를 들어 가용 대역폭 등으로 인해 이용/설정된다(S502). 그런 다음, S504-S510 단계는 새로운 낮은 축소 팩터로 반복된다. 축소 팩터가 제2 이미지 데이터(106b)와 제3 이미지 데이터(106c) 사이에서 변경되기 때문에, 제3 보조 프레임(110c)을 인트라 프레임으로 인코딩하는 것(S506)이 유리하다. 비디오 캡쳐 장치(104)에 의해 캡쳐된 제3 이미지 데이터(106c)에 대해, 본 실시 형태에 따른 인코딩 과정은 제3 축소 이미지 데이터(116)를 얻기 위해 제3 이미지 데이터(106c)를 축소하는 단계(S504)를 포함하고, 제3 축소 이미지 데이터(116)는 제2 해상도를 가지며, 제2 해상도(도 2에서 미도시)는 제1 해상도(즉, 도 1에서 나타낸 바와 같이 118x*118y)와 상이하고, 의도된 해상도(즉, 도 1에서 나타낸 바와 같이 116x*116y)보다 낮다. 제3 보조 프레임(110c)이 의도된 해상도(116x*116y)를 갖는 제3 보조 프레임(110c)의 이미지 데이터로 준비되고, 제3 축소 이미지 데이터(116)가 인트라 프레임이 인코딩되는 제3 보조 프레임(110c)의 이미지 데이터로 삽입된다. 그런 다음, 인코더는 제3 보조 프레임(110c)의 이미지 데이터에서 제3 축소 이미지 데이터(116)를 의도된 해상도(116x*116y)로 확대하는 것에 해당하는 제3 모션 벡터(도 2에서 제3 프레임(112c)에서의 화살표로 도식적으로 나타냄)를 결정한다(S508). 제3 모션 벡터는 제1 프레임(112a)에 대해 전술한 바와 같이 결정될 수 있다. 그런 다음, 인코더(108)는 제3 프레임(112c)을 제3 보조 프레임(110c)을 참조하는 인터 프레임으로서 인코딩할 수 있으며, 제3 프레임의 모션 벡터는 제3 모션 벡터에 해당한다.
도 2(및 하기 도 3-4에서 유사함)에서, 괄호 내의 숫자는 인코딩된 보조 프레임(110)(AF) 및 "정규(regular)" 프레임(112)(RF)이 인코딩된 비디오 스트림에 포함되는 순서를 나타낸다. 도 2의 예에서, 순서는 AF1(110a), RF1(112a), AF2(110b), RF2(112b), AF3(110c), RF3(112c)이다.
이미지 캡쳐 장치(104)에 의해 캡쳐된 이미지 데이터(106a-c)를 전송하기 위한 보조 프레임(110)의 이미지 데이터의 일부만을 사용하는 또 다른 이점(동적 전송률 제어 가능성을 제외)은 보조 프레임(110)의 이미지 데이터의 빈 부분이 캡쳐된 이미지 데이터(106a-c)의 일부(304)에 더 높은 해상도로 제공하는데 사용될 수 있다는 것이다. 이러한 부분은 뷰어(또는 이미지 분석 소프트웨어)의 특별한 관심, 예를 들어 사람의 얼굴 또는 자동차의 번호판에 특히 유리하다. 이러한 실시 형태는 도 3에 예시된다.
도 3에서, 제1 이미지 데이터의 섹션(304)이 결정된다. 섹션(304)은 인코딩된 비디오 스트림에 제3 해상도로 포함되며, 제3 해상도는 제1 해상도보다 높다. 예를 들어, 제1 해상도가 720P인 경우, 제3 해상도는 4K일 수 있다. 일부 실시 형태에 따르면, 제3 해상도는 의도된 해상도와 동일할 수 있다. 그러나, 이미지 데이터(106a-b)가 의도된 해상도보다 큰 해상도로 캡쳐되는 경우에서, 제3 해상도가 의도 된 해상도보다 높고, 예를 들어 비디오 캡쳐 장치에 의해 캡쳐된 이미지 데이터(106a-b)의 해상도 또는 이미지 데이터(106a-b)의 해상도와 의도된 해상도 사이의 임의의 위치와 동일한 경우 유리할 수 있다.
섹션(304)이 결정된 후, 이는 선택적으로 제3 해상도로 축소된다(이미 제3 해상도에 있지 않은 경우, 즉 제3 해상도가 캡쳐된 이미지 데이터(106a)의 해상도인 경우). 제3 해상도에서의 섹션(304)은 이하에서 ROI1이라 지칭될 것이며, 참조 번호 302를 갖는 도 3에 도시된다. 그런 다음 ROI1(302)은 ROI1(302)이 제1 축소 이미지 데이터(114)를 덮어 쓰지 않거나 제1 축소 이미지 데이터(114)에 의해 덮혀 써지게 되지 않도록 즉 ROI1(302)이 제1 축소 이미지 데이터(114)와 중첩되지 않도록 제1 보조 프레임(110a)의 이미지 데이터에 삽입된다.
다음 단계는 축소 이미지 데이터(114)의 확대 버전에서 의도된 해상도를 갖는 ROI1(302)을 삽입하는 것에 해당하는 (제4 )모션 벡터를 결정하는 것이다. 이들 모션 벡터는 제1, 제2 및 제3 모션 벡터에 대해 상기에서 설명된 바와 같은 방식으로, 예를 들어 제3 해상도, 의도된 해상도 및 제1 보조 이미지(110a)의 이미지 데이터에서의 ROI1의 위치에 기초하여 이미지 변환식을 샘플링함으로써 결정될 수 있다. 제4 모션 벡터는 도 3에서 제1 프레임(112a)의 상부 우측 모서리의 화살표로서 개략적으로 도시된다. 그런 다음 제4 모션 벡터는 인터 프레임 인코딩된 제1 프레임(112a)의 모션 벡터를 결정하는데 사용된다. 즉, 인터 프레임으로서 제1 프레임(112a)을 인코딩하는 것은 제1 모션 벡터(축소 이미지 데이터(114)를 의도된 해상도로 확대하기 위함) 및 제4 모션 벡터에 해당하는 제1 프레임(112a)의 모션 벡터를 결정하는 것을 포함한다.
제1 보조 프레임(110a)은 여전히 인트라 프레임으로 인코딩된다.
제2 이미지 데이터 (106b)에 대해, 이러한 이미지 데이터에서 관심있는 섹션의 인코딩은 제2 보조 프레임(110b)이 인터 프레임으로 인코딩되도록 전술한 바와 같은 시간적 비디오 압축을 이용하여 수행될 수 있다. 이러한 이유로, 제3 해상도에서의 제2 이미지 데이터의 섹션(ROI2)이 제1 보조 프레임(110a)의 이미지 데이터에서의 ROI1의 위치에 해당하는 제2 보조 프레임(110b)의 이미지 데이터에서의 위치에 삽입되는 경우 유리할 수 있다. ROI2는 제2 축소 이미지 데이터를 덮어 쓰지 않거나 제2 축소 이미지 데이터에 의해 덮어 써지도록 제2 보조 프레임의 이미지 데이터에 삽입된다. 그런 다음, 제2 확대 이미지 데이터에 의도된 해상도를 갖는 ROI2를 삽입하는 것에 해당하는 제5 모션 벡터가 결정되고, 제2 프레임(110b)을 인터 프레임으로 인코딩하는 것은 제2 모션 벡터 및 제5 모션 벡터에 해당하는 제2 프레임의 모션 벡터를 결정하는 것을 포함한다.
따라서 인코더(108)는 도 1 내지 도 3과 함께 전술한 바와 같이 비디오 스트림(106)을 인코딩하도록 적용된다. 인코더(108)는 비디오 캡쳐 장치(104)에 직접 제공될 수 있거나, 비디오 캡쳐 장치(104)에 유선 또는 무선 연결되어 비디오 스트림(106)의 이미지 데이터(106a-d)를 수신할 수 있다. 인코더(108)는 사전 계산된 모션 벡터를 검색하기 위한 메모리를 포함할 수 있거나 메모리와 연결될 수 있다. 인코더(108)는 이미지 변환식(즉, 축소 이미지 데이터의 확대를 위한 식 및/또는 ROI1/ROI2를 정확한 위치 및 확대 이미지 데이터에서의 크기에 구비하기 위한 식)을 계산 및/또는 이미지 변환식으로부터 모션 벡터를 샘플링하기 위한 처리 유닛을 포함할 수 있다. 대안 또는 부가로, 인코더는 이러한 이미지 변환 식 및/또는 모션 벡터를 계산/결정하도록 적용된 별도의 계산 유닛으로부터 이미지 변환식 및/또는 모션 벡터를 수신하도록 적용될 수 있다. 이러한 별도의 계산 유닛은 일부 실시 형태에 따라 인코더(108)에서 보조 프레임과 나중에 상호 연결되는 제1 /제2 /제3 프레임 전체를 생성할 수 있다. 인코더(108)는 또한 전술한 바와 같이 이미지 캡쳐 장치(104)에 의해 캡쳐된 이미지 데이터(106a-d)를 축소하도록 적용될 수 있다. 일부 실시 형태에 따르면, 인코더는 별도의 스케일링 유닛으로부터 축소 이미지 데이터를 수신한다. 인코더는 일반적으로 전술한 바와 같이 수신된 이미지 데이터를 인코딩하기 위한 하나 또는 다수의 처리 유닛(예를 들어, CPU)을 포함한다. CPU는 예를 들어, 컴퓨터 판독 가능 저장 매체로부터 설치된 소프트웨어를 CPU에 의해 실행될 때 전술한 실시 형태들 중 임의의 인코딩 방법을 수행하도록 적용된 명령어로 실행하도록 적용될 수 있다. 인코더는 또한 인코딩된 비디오 스트림을 디코딩하도록 적용된 디코더에 무선 또는 유선으로 인코딩된 비디오 스트림을 전송(예를 들어 인터넷을 통해)하도록 적용될 수 있다.
도 4는 전술한 바와 같은 인코더(108)를 포함하는 시스템을 일례로서 기술한다. 인코더(108)는 디지털 네트워크(402)를 통해 디코더(404)에 접속되고, 디코더(404)는 인코더(108)의 비디오 코딩 포맷으로 인코딩된 비디오 스트림(416)을 디코딩하도록 배치된다. 비디오 코딩 포맷은 다음 중 하나일 수 있다: 고효율 이미지 파일 포맷, 고효율 비디오 코딩, H.265, H.264, VP10, VP9, AV1, 고급 비디오 코딩 및 H.266. 그러나, 본 발명에서 설명된 보조 프레임을 지원하는 임의의 비디오 코딩 포맷이 본 발명의 범위에 포함됨을 주목해야 한다.
따라서, 인코더(108)는 의도된 해상도 및 제1 해상도(축소 팩터)에 따라 비디오 캡쳐 장치에 의해 캡쳐된 복수의 이미지 데이터(106a-b)를 인코딩한다. 의도된 해상도는 일부 실시 형태에 따라 디지털 네트워크(402)로부터 수신되고(408), 예를 들어 인코딩된 비디오 스트림(416)을 수신하는 클라이언트 애플리케이션(418) 또는 사용자에 의해 디지털 네트워크(402)를 통해 인코더로 결정 및 전송될 수 있다(405). 제1 해상도는 인코더가 접속되는 디지털 네트워크의 비트 전송률, 즉 인코더(108)와 디코더(404) 사이의 디지털 네트워크(402)의 유효 처리량에 따라 결정될 수 있다(406). 대안으로, 전술한 바와 같이 측정되는, 이러한 비트 전송률에 기초하여 제1 해상도를 결정하는 별도의 전송률 제어 유닛일 수 있다. 전송률 제어 유닛은 제1 (제 2 등)해상도를 인코더에 연속적으로 전달하거나, 현재 사용되는 것으로부터 변경되는 경우, 예를 들어 대역폭 조건이 변경되는 경우에만 이러한 해상도를 전달할 수 있다. 그렇지 않으면 제1 해상도는 인코더(108)에 의해 결정되고 수신될 수 있다. 예를 들어, 제1 해상도(및 유사하게 도 2의 제2 해상도)는 비디오 캡쳐 장치에 의해 캡쳐된 비디오 스트림(106)의 품질에 기초하여 결정될 수 있다. 비디오 스트림이 어두운 조건, 예를 들어 밤 시간 동안 캡쳐되는 경우, 비디오 스트림(106)(이미지 데이터(106a-c))은 종종 비디오 스트림의 품질을 낮추고 많은 노이즈를 포함하므로, 비디오 스트림(106)이 예를 들어, 낮 시간 동안 켭쳐되는 경우와 비교하여 제1 해상도를 낮추는데 유리하게 한다. 제1 해상도를 결정하는 다른 예는 추후 디코딩된 비디오 스트림을 시청하려는 사용자 또는 추후 디코딩된 비디오 스트림을 분석할 비디오 분석 소프트웨어로부터 이러한 정보를 수신하는 것을 포함한다.
인코더(108)는 디지털 네트워크(402)를 통해 인코딩된 비디오 스트림(416)을 전송하기 위해 적용된다. 디코더(404)는 디지털 네트워크(402)를 통해 인코딩된 비디오 스트림(416)을 수신하고, 디코딩된 비디오 스트림을 얻기 위해 인코딩된 비디오 스트림(416)을 디코딩하도록 적용된다.
일부 실시 형태에 따르면, 시스템은 디스플레이(418)를 포함한다. 디코더는 디스플레이(418)와 연결될 수 있고, 디코딩된 비디오 스트림을 디스플레이(418)로 전송하여 의도된 해상도로 나타내어진다(410).
전술한 바와 같이 제3 해상도로 인코딩된 비디오 스트림(416)에 제1 이미지 데이터(106a)의 섹션(304)이 포함되는(302)(본 발명에서 ROI1로 지칭됨) 실시 형태에 따라, 디코더(404)는 디코딩된 비디오 스트림을 얻기 위해 인코딩된 비디오 스트림을 디코딩하도록 추가로 적용될 수 있고, 디코딩은 제1 보조 프레임의 이미지 데이터로부터 ROI1을 추출하는 것과 디코딩된 비디오 스트림으로부터 ROI1을 별도로 디스플레이 상에, 예를 들어 제3 해상도(또는 디코더(404)에 의해 결정된 임의의 다른 해상도)로 표시하는 것을 포함한다. ROI1은 또한 보조 프레임들로부터 얻어진 이미지 데이터(410)에 포함되며(414), 예를 들어 제1 /제2 프레임(112a-b)의 모션 벡터를 사용하여 확대된다.
당업자는 여러 방식으로 상기에서 기술된 실시 형태를 변형할 수 있고, 상기 실시 형태에 도시된 바와 같이 본 발명의 이점을 여전히 사용할 수 있음을 이해할 것이다. 예를 들어, 보조 프레임을 인코딩하는 순서 및 보조 프레임을 보완하는 프레임은 임의의 적절한 방식으로 변경될 수 있다. 예를 들어, GOP 내의 모든 보조 프레임은 인코딩된 비디오 스트림에서 인코딩된 보조 프레임과 엮이는 보조 프레임을 참조하는 인터 인코딩된 프레임을 포함하기 전에 먼저 인코딩될 수 있다. 따라서, 본 발명은 도시된 실시 형태들로 제한되어서는 안되며 첨부된 청구항에 의해서만 정의되어야 한다. 또한, 당업자가 이해하는 바와 같이, 도시된 실시 형태들은 결합될 수 있다.

Claims (15)

  1. 비디오 코딩 포맷으로 비디오 스트림을 인코딩하는 방법으로서, 여기서 상기 비디오 코딩 포맷은 상기 인코딩된 비디오 스트림(416)에 보조 프레임(110)을 포함하는 것을 지원하고, 상기 보조 프레임(110)은 상기 인코딩된 비디오 스트림(416)에서 다른 프레임(112)을 참조하며 상기 인코딩된 비디오 스트림(416)에서 다른 프레임을 보완하는 이미지 데이터를 포함하고, 상기 보조 프레임(110)은 상기 보조 프레임(110)의 이미지 데이터가 디코딩될 때 상기 인코딩된 비디오 스트림(416)을 나타내도록 의도되는 것이 아니라, 상기 다른 프레임의 데이터와 함께 사용되어 이미지 데이터가 나타나게 하는 것을 나타내는 플래그 값(flag value)을 포함하며, 상기 방법은 하기 단계를 포함하는 방법:
    비디오 캡쳐 장치(104)에 의해 캡쳐된 제1 이미지 데이터(106a)를 수신하는 단계,
    디코딩될 때 상기 비디오 스트림(106)에 대한 의도된 해상도를 결정하는 단계(S502),
    제1 축소 이미지 데이터(114)를 얻기 위해 상기 제1 이미지 데이터(106a)를 축소하는 단계(S504)(여기서, 상기 제1 축소 이미지 데이터(114)는 상기 의도된 해상도보다 낮은 제1 해상도를 가짐),
    비어있는 제1 보조 프레임(110a)를 준비하는 단계(여기서, 상기 제1 보조 프레임(110a)의 이미지 데이터는 상기 의도된 해상도와 동일한 해상도를 가지며 모두 동일한 미리 정의된 값을 갖는 비트들을 포함함),
    상기 제1 축소 이미지 데이터(114)를 상기 제 1 보조 프레임(110a)으로 붙여 넣는 단계(S506),
    상기 제1 보조 프레임(110a)을 인트라 프레임으로 인코딩하는 단계,
    상기 제1 보조 프레임(110a)의 이미지 데이터(106)에서 상기 제1 축소 이미지 데이터(114)를 상기 의도된 해상도를 갖는 제1 확대 이미지 데이터로 확대하기 위한 제1 이미지 변환을 결정하는 단계,
    적어도 하나의 미리 결정된 매크로블록 크기에 따라 상기 제1 이미지 변환으로부터 생성된 픽셀들의 이동을 샘플링함으로써 제1 모션 벡터(120)를 결정하는 단계(S508),
    상기 제1 이미지 데이터(106a)를 상기 제1 보조 프레임(110a)을 참조하는 인터 프레임으로서 제1 프레임(112a)으로 인코딩하는 단계(여기서, 상기 제1 프레임(112a)의 모션 벡터(120)는 상기 제1 모션 벡터(120)에 해당함).
  2. 제1항에 있어서,
    상기 비디오 캡쳐 장치(104)에 의해 캡쳐된 제2 이미지 데이터(106b)를 수신하는 단계,
    제2 축소 이미지 데이터를 얻기 위해 상기 제2 이미지 데이터(106b)를 축소하는 단계(여기서, 상기 제2 축소 이미지 데이터의 해상도는 상기 제1 해상도임)
    제2 비어 있는 보조 프레임(110b)를 준비하는 단계(여기서, 상기 제2 보조 프레임(110b)의 이미지 데이터는 상기 의도된 해상도와 동일한 해상도를 가짐),
    상기 제2 축소 이미지 데이터를 상기 제2 보조 프레임(110b)의 이미지 데이터에 붙여 넣는 단계,
    상기 제1 보조 프레임(110a)을 참조하는 인터 프레임으로서 상기 제2 보조 프레임(110b)을 인코딩하는 단계,
    상기 제2 보조 프레임(110b)의 이미지 데이터에서 상기 제2 축소 이미지 데이터를 상기 의도된 해상도를 갖는 제2 확대 이미지 데이터로 확대하기 위한 제2 이미지 변환을 결정하는 단계,
    상기 제2 이미지 변환을 샘플링하여 제2 모션 벡터를 결정하는 단계,
    상기 제2 이미지 데이터(106b)를 상기 제2 보조 프레임(110b)을 참조하는 인터 프레임으로서 제2 프레임(112b)으로 인코딩하는 단계(여기서, 상기 제2 프레임(112b)의 모션 벡터는 상기 제2 모션 벡터에 해당함)를 추가로 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    비디오 기록 장치(104)에 의해 제3 이미지 데이터(106c)를 캡쳐하는 단계,
    제3 축소 이미지 데이터(116)를 얻기 위해 상기 제3 이미지 데이터(106c)를 축소하는 단계(여기서, 상기 제3 축소 이미지 데이터(116)는 제2 해상도를 가지며, 상기 제2 해상도는 상기 제1 해상도와 다르고 상기 의도된 해상도보다 낮음),
    제3 비어 있는 보조 프레임(110c)을 준비하는 단계(여기서 상기 제3 보조 프레임(110c)의 이미지 데이터는 상기 의도된 해상도와 동일한 해상도를 가짐),
    상기 제3 축소 이미지 데이터(116)를 상기 제3 보조 프레임(110c)의 이미지 데이터에 붙여 넣는 단계,
    상기 제3 보조 프레임을 인트라 프레임으로 인코딩하는 단계,
    상기 제3 보조 프레임(110c)의 이미지 데이터에서 상기 제3 축소 이미지 데이터를 상기 의도된 해상도를 갖는 제3 확대 이미지 데이터로 확대하기 위한 제3 이미지 변환을 결정하는 단계,
    상기 제 3 이미지 변환을 샘플링하여 제3 모션 벡터를 결정하는 단계,
    상기 제3 이미지 데이터를 상기 제3 보조 프레임(110c)을 참조하는 인터 프레임으로서 제3 프레임(112c)으로 인코딩하는 단계(여기서 상기 제3 프레임(112c)의 모션 벡터는 상기 제3 모션 벡터에 해당함)를 추가로 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 제3 해상도로 상기 인코딩된 비디오 스트림(416)에 포함될 상기 제1 이미지 데이터(106a)의 섹션(ROI1, 302)을 결정하는 단계(상기 제3 해상도는 상기 제1 해상도보다 높음),
    상기 ROI1(302)은 상기 제1 축소 이미지 데이터(114)를 덮어 쓰지 않거나 상기 ROI1(302)가 상기 제1 축소 이미지 데이터(114)와 중첩되지 않도록 하기 위해 상기 제1 축소 이미지 데이터(114)에 의해 덮여 써지도록 상기 제3 해상도를 갖는 상기 ROI1(302)를 상기 제1 보조 프레임(110a)의 이미지 데이터로 붙여 넣는 단계(S506),
    상기 의도된 해상도를 갖는 ROI1(302)를 상기 제1 확대 이미지 데이터에 삽입하기 위한 제4 이미지 변환을 결정하는 단계,
    상기 제4 이미지 변환을 샘플링하여 제4 모션 벡터를 결정하는 단계(120)를 추가로 포함하고,
    상기 제1 이미지 데이터(106a)를 인터 프레임으로 상기 제1 프레임(112a)으로 인코딩하는 단계(S510)는 상기 제1 모션 벡터와 상기 제4 모션 벡터에 해당하는 상기 제1 프레임(112a)의 모션 벡터를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 비디오 캡쳐 장치(104)에 의해 캡쳐된 제2 이미지 데이터(106b)를 수신하는 단계,
    제2 축소 이미지 데이터를 얻기 위해 상기 제2 이미지 데이터(106b)를 축소하는 단계(여기서 상기 제2 축소 이미지 데이터의 해상도는 상기 제1 해상도임),
    제2 비어 있는 보조 프레임(110b)를 준비하는 단계(여기서 상기 제2 보조 프레임(110b)의 이미지 데이터는 상기 의도된 해상도와 동일한 해상도를 가짐),
    상기 제2 축소 이미지 데이터를 상기 제2 보조 프레임(110b)의 이미지 데이터에 붙여 넣는 단계,
    상기 제2 보조 프레임(110b)을 상기 제1 보조 프레임을 참조하는 인터 프레임으로서 인코딩하는 단계,
    상기 제2 보조 프레임(110b)의 이미지 데이터에서 상기 제2 축소 이미지 데이터를 상기 의도된 해상도를 갖는 제2 확대 이미지 데이터로 확대하기 위한 제2 이미지 변환을 결정하는 단계,
    상기 제2 이미지 변환을 샘플링하여 제2 모션 벡터를 결정하는 단계,
    상기 제2 이미지 데이터(106b)를 상기 제2 보조 프레임(110b)을 참조하는 인터 프레임으로서 제2 프레임(112b)으로 인코딩하는 단계(여기서 상기 제2 프레임(112b)의 모션 벡터는 상기 제2 모션 벡터에 해당함),
    상기 제3 해상도로 상기 인코딩된 비디오 스트림(416)에 포함될 상기 제2 이미지 데이터(106b)의 섹션(ROI2)를 결정하는 단계,
    상기 ROI2가 상기 제2 축소 이미지 데이터를 덮어 쓰지 않거나 상기 제2 축소 이미지 데이터에 의해 덮어 쓰게 되도록 상기 제3 해상도를 갖는 상기 ROI2를 상기 제2 보조 프레임(110b)의 이미지 데이터에 붙여 넣는 단계,
    상기 의도된 해상도를 갖는 상기 ROI2를 상기 제2 확대 이미지 데이터에 삽입하기 위한 제5 이미지 변환을 결정하는 단계,
    상기 제4 이미지 변환을 샘플링하여 제5 모션 벡터를 결정하는 단계를 추가로 포함하고,
    상기 제2 이미지 데이터(106b)를 인터 프레임으로서 상기 제2 프레임(112b)d으로 인코딩하는 단계는 상기 제2 모션 벡터 및 상기 제4 모션 벡터에 해당하는 상기 제2 프레임(112b)의 모션 벡터를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서, 상기 ROI1(302) 및 ROI2는 상기 제1 및 제2 보조 프레임(110a-b)의 이미지 데이터에 해당하는 위치에 각각 붙여 넣어지는 것을 특징으로 하는 방법.
  7. 제4항에 있어서, 상기 제3 해상도는 상기 의도된 해상도와 동일하거나, 상기 의도된 해상도보다 큰 것을 특징으로 하는 방법.
  8. 제1항에 있어서, 상기 의도된 해상도는 상기 비디오 기록 장치(104)에 의해 캡쳐된 이미지 데이터(106)의 해상도와 동일한 것을 특징으로 하는 방법.
  9. 제1항에 있어서, 상기 비디오 코딩 포맷은 고효율 이미지 파일 포맷(High Efficiency Image File Format), 고효율 비디오 코딩(High Efficiency Video Coding), H.265, H.264, VP10, VP9, AV1, 고급 비디오 코딩(Advanced Video Coding) 및 H.266 중 하나인 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 인코더(108)가 접속되는 디지털 네트워크(402)의 비트 전송률에 기초하여 상기 제1 해상도를 결정하는 단계(S502)를 추가로 포함하는 것을 특징으로 하는 방법.
  11. 처리 능력을 갖는 장치에 의해 실행될 때 제1항의 방법을 수행하도록 적용 된 명령어들을 갖는 컴퓨터 판독 가능 저장 매체를 포함하는 컴퓨터 프로그램 제품.
  12. 비디오 코딩 포맷으로 비디오 기록 장치(104)에 의해 캡쳐된 비디오 스트림 (106)을 인코딩하도록 적용된 비디오 스트림 인코더(108)로서, 상기 비디오 코딩 포맷은 상기 인코딩된 비디오 스트림(416)에서의 보조 프레임(110)을 포함하는 것을 지원하고, 상기 보조 프레임(110)은 상기 인코딩된 비디오 스트림(416)에서의 다른 프레임에 의해 참조되며 상기 인코딩된 비디오 스트림(416)에서의 다른 프레임을 보완하는 이미지 데이터를 포함하고, 상기 보조 프레임은 상기 보조 프레임(110)의 이미지 데이터가 상기 인코딩되 비디오 스트림(416)을 디코딩할 때 표시되도록 의도되는 것이 아니라, 상기 다른 프레임의 데이터와 함께 사용되어 이미지 데이터가 표시되게 하는 플래그 값을 포함하며, 상기 인코더(108)는:
    상기 비디오 캡쳐 장치(104)에 의해 캡쳐된 제1 이미지 데이터(106a)를 수신하고,
    디코딩될 때 상기 비디오 스트림에 대한 의도된 해상도를 결정하며(S502),
    제1 축소 이미지 데이터(114)를 얻기 위해 상기 제1 이미지 데이터(106a)를 축소하고(여기서, 상기 제1 축소 이미지 데이터(114)는 상기 의도된 해상도보다 낮은 제1 해상도를 가짐)(S504),
    비어 있는 제1 보조 프레임(110a)를 준비하며(여기서 상기 제1 보조 프레임(110a)의 이미지 데이터는 상기 의도된 해상도와 동일한 해상도를 가지며 모두 상기 미리 정의된 값을 갖는 비트를 포함함),
    상기 제1 축소 이미지 데이터(114)를 상기 제1 보조 프레임(110a)의 이미지 데이터에 붙여 넣고(S506),
    상기 제1 보조 프레임(110a)을 인트라 프레임으로 인코딩하며,
    상기 제1 보조 프레임(110a)의 이미지 데이터(106a)에서 상기 제1 축소 이미지 데이터(114)를 상기 의도된 해상도를 갖는 제1 확대 이미지 데이터로 확대하기 위한 제1 이미지 변환을 결정하고,
    적어도 하나의 미리 결정된 매크로블록 크기에 따라 상기 제1 이미지 변환으로부터 생성된 픽셀들의 이동을 샘플링함으로써 제1 모션 벡터(120)를 결정하며(S508),
    상기 제1 이미지 데이터(106a)를 상기 제1 보조 프레임(110a)을 참조하는 인터 프레임으로서 제1 프레임(112a)으로 인코딩(여기서 상기 제1 프레임(112a)d의 모션 벡터(120)는 상기 제1 모션 벡터(120)에 해당함)하도록 적용되는 것을 특징으로 하는 비디오 스트림 인코더.
  13. 제12항에 따른 인코더(108)를 포함하는 시스템으로서, 상기 인코더(108)는 디지털 네트워크(402)를 통해 디코더(404)에 접속되고, 상기 디코더(404)는 상기 인코더(108)의 비디오 인코딩 포맷으로 인코딩된 비디오 스트림을 디코딩하도록 배치되며, 상기 인코더(108)는:
    상기 디지털 네트워크(402)를 통해 상기 의도된 해상도를 수신하고,
    제1 해상도를 수신하며,
    상기 수신된 의도된 해상도 및 상기 수신된 제1 해상도에 따라 상기 비디오 스트림(106)을 인코딩하고,
    상기 디지털 네트워크(402)를 통해 상기 인코딩된 비디오 스트림(416)을 전송하도록 적용되며,
    상기 디코더(404):
    상기 디지털 네트워크(402)를 통해 상기 인코딩된 비디오 스트림(416)을 수신하고,
    디코딩된 비디오 스트림을 얻기 위해 상기 인코딩된 비디오 스트림(416)을 디코딩하도록 적용되는 것을 특징으로 하는 시스템.
  14. 제13항에 있어서, 디스플레이(418)를 더 포함하고, 상기 인코더(108)는:
    제3 해상도로 상기 인코딩된 비디오 스트림(416)에 포함될 상기 제1 이미지 데이터의 섹션(ROI1)(302)을 결정하고(상기 제3 해상도는 상기 제1 해상도보다 높음),
    상기 ROI1(302)이 상기 제1 축소 이미지 데이터(114)를 덮어 쓰지 않거나 상기 ROI1이 상기 제1 축소 이미지 데이터(114)와 중첩하지 않도록 상기 제1 축소 이미지(114)에 의해 덮어 써지도록 상기 제3 해상도를 갖는 상기 ROI1(302)을 상기 제1 보조 프레임(110a)의 이미지 데이터 데이터로 붙여 넣으며,
    상기 의도된 해상도를 갖는 상기 ROI1(302)을 상기 제1 확대 이미지 데이터로 삽입하기 위한 제4 이미지 변환을 결정하고,
    상기 제4 이미지 변환을 샘플링하여 제4 모션 벡터를 결정하도록 추가로 적용되고,
    상기 제1 이미지 데이터(106a)를 인터 프레임으로서 상기 제1 프레임(112a)으로 인코딩하는 단계는 상기 제1 모션 벡터(120)와 상기 제4 모션 벡터에 해당하는 상기 제1 프레임(112a)의 모션 벡터를 결정하는 단계를 포함하는 것을 특징으로 하며,
    상기 디코더(404)는:
    디코딩된 비디오 스트림을 얻기 위해 상기 인코딩된 비디오 스트림(416)을 디코딩하고(상기 디코딩은 상기 제1 보조 프레임(110a)의 이미지 데이터(106)로부터 상기 ROI1(302)을 추출하는 것을 포함함),
    상기 디코딩된 비디오 스트림으로부터 상기 ROI1(302)을 별도로 상기 디스플레이(418) 상에 표시하도록 적용되는 것을 특징으로 하는 시스템.
  15. 제14항에 있어서, 상기 제3 해상도는 상기 의도된 해상도보다 크며, 상기 디코딩된 비디오 스트림으로부터 상기 ROI1(302)을 별도로 상기 디스플레이(418) 상에 표시하는 단계는 상기 디스플레이(418) 상에 상기 제3 해상도로 상기 ROI1(302)을 표시하는 단계를 포함하는 것을 특징으로 하는 시스템.
KR1020180121100A 2017-10-18 2018-10-11 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하기 위한 방법 및 인코더 KR102118265B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP17197037.9A EP3474225B1 (en) 2017-10-18 2017-10-18 Method and encoder for encoding a video stream in a video coding format supporting auxiliary frames
EP17197037.9 2017-10-18

Publications (2)

Publication Number Publication Date
KR20190043469A true KR20190043469A (ko) 2019-04-26
KR102118265B1 KR102118265B1 (ko) 2020-06-02

Family

ID=60138279

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180121100A KR102118265B1 (ko) 2017-10-18 2018-10-11 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하기 위한 방법 및 인코더

Country Status (6)

Country Link
US (1) US10616592B2 (ko)
EP (1) EP3474225B1 (ko)
JP (1) JP6854795B2 (ko)
KR (1) KR102118265B1 (ko)
CN (1) CN109688410B (ko)
TW (1) TWI763937B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102313651B1 (ko) * 2020-05-12 2021-10-15 수니코리아 엘엘씨(한국뉴욕주립대학교) 서버와 클라이언트 장치 간 비디오 스트리밍 방법

Families Citing this family (9)

* 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
CN111836080B (zh) * 2019-04-19 2022-07-19 浙江宇视科技有限公司 视频参数优化方法及装置
CN110248192B (zh) * 2019-06-12 2021-10-15 腾讯科技(深圳)有限公司 编码器切换、解码器切换、屏幕分享方法和屏幕分享系统
JP7151654B2 (ja) 2019-07-26 2022-10-12 トヨタ自動車株式会社 検索装置、学習装置、検索システム、検索プログラム、及び学習プログラム
GB201914348D0 (en) * 2019-10-04 2019-11-20 Vaion Ltd Encoding and decoding a video
GB2590152A (en) * 2019-10-04 2021-06-23 Vaion Ltd Encoding and decoding a video
EP3902244B1 (en) 2020-04-23 2022-03-23 Axis AB Controlling a pan-tilt-zoom camera
JP2022038979A (ja) * 2020-08-27 2022-03-10 ソニーセミコンダクタソリューションズ株式会社 画像処理装置および方法
US20220394073A1 (en) * 2021-06-08 2022-12-08 Comcast Cable Communications, Llc Method and apparatus for determining bitrate switch points

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6057884A (en) * 1997-06-05 2000-05-02 General Instrument Corporation Temporal and spatial scaleable coding for video object planes
US6226327B1 (en) * 1992-06-29 2001-05-01 Sony Corporation Video coding method and apparatus which select between frame-based and field-based predictive modes
US6310919B1 (en) * 1998-05-07 2001-10-30 Sarnoff Corporation Method and apparatus for adaptively scaling motion vector information in an information stream decoder
KR20090039689A (ko) * 2005-04-15 2009-04-22 엘지전자 주식회사 영상 신호의 스케일러블 인코딩 및 디코딩 방법
US8508659B2 (en) * 2009-08-26 2013-08-13 Nxp B.V. System and method for frame rate conversion using multi-resolution temporal interpolation
KR20130125398A (ko) * 2011-03-09 2013-11-18 캐논 가부시끼가이샤 비디오 인코딩 및 디코딩

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085323B2 (en) * 2002-04-03 2006-08-01 Stmicroelectronics, Inc. Enhanced resolution video construction method and apparatus
US20040120398A1 (en) * 2002-12-19 2004-06-24 Ximin Zhang System and method for adaptive field and frame video encoding using rate-distortion characteristics
KR100885443B1 (ko) 2005-04-06 2009-02-24 엘지전자 주식회사 레이어간 예측방식를 사용해 엔코딩된 영상신호를디코딩하는 방법
US9661340B2 (en) * 2012-10-22 2017-05-23 Microsoft Technology Licensing, Llc Band separation filtering / inverse filtering for frame packing / unpacking higher resolution chroma sampling formats
EP3038370A1 (en) 2014-12-22 2016-06-29 Alcatel Lucent Devices and method for video compression and reconstruction
US20160286226A1 (en) 2015-03-24 2016-09-29 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
CN104811722B (zh) * 2015-04-16 2019-05-07 华为技术有限公司 一种视频数据的编解码方法及装置
AU2015207825A1 (en) 2015-07-28 2017-02-16 Canon Kabushiki Kaisha Method, apparatus and system for encoding video data for selected viewing conditions
CN106162180A (zh) * 2016-06-30 2016-11-23 北京奇艺世纪科技有限公司 一种图像编解码方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226327B1 (en) * 1992-06-29 2001-05-01 Sony Corporation Video coding method and apparatus which select between frame-based and field-based predictive modes
US6057884A (en) * 1997-06-05 2000-05-02 General Instrument Corporation Temporal and spatial scaleable coding for video object planes
US6310919B1 (en) * 1998-05-07 2001-10-30 Sarnoff Corporation Method and apparatus for adaptively scaling motion vector information in an information stream decoder
KR20090039689A (ko) * 2005-04-15 2009-04-22 엘지전자 주식회사 영상 신호의 스케일러블 인코딩 및 디코딩 방법
US8508659B2 (en) * 2009-08-26 2013-08-13 Nxp B.V. System and method for frame rate conversion using multi-resolution temporal interpolation
KR20130125398A (ko) * 2011-03-09 2013-11-18 캐논 가부시끼가이샤 비디오 인코딩 및 디코딩

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102313651B1 (ko) * 2020-05-12 2021-10-15 수니코리아 엘엘씨(한국뉴욕주립대학교) 서버와 클라이언트 장치 간 비디오 스트리밍 방법

Also Published As

Publication number Publication date
CN109688410B (zh) 2021-01-29
US20190116371A1 (en) 2019-04-18
CN109688410A (zh) 2019-04-26
US10616592B2 (en) 2020-04-07
EP3474225A1 (en) 2019-04-24
TWI763937B (zh) 2022-05-11
JP2019075783A (ja) 2019-05-16
EP3474225B1 (en) 2019-09-25
KR102118265B1 (ko) 2020-06-02
TW201929547A (zh) 2019-07-16
JP6854795B2 (ja) 2021-04-07

Similar Documents

Publication Publication Date Title
KR102118265B1 (ko) 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하기 위한 방법 및 인코더
KR102525578B1 (ko) 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
US9600853B2 (en) Method, terminal and system for image processing
US10958942B2 (en) Processing spherical video data
US8345749B2 (en) Method and system for transcoding regions of interests in video surveillance
JP4575447B2 (ja) パノラマ画像の動き推定及び補償のために仮想画像領域を生成する方法及び装置
TWI505694B (zh) 編碼器及編碼方法
WO2019134557A1 (zh) 视频图像的处理方法及装置
US7567723B2 (en) Resolution changing method and apparatus
CN110121065B (zh) 空间排序视频编码应用中的多向图像处理
US10425656B2 (en) Method of inter-frame prediction for video encoding and decoding
EP3043313A1 (en) Jpeg picture composite method and method and apparatus for superimposing osd information
KR100963424B1 (ko) 스케일러블 영상 복호화기 및 그 제어 방법
KR20190043465A (ko) 보조 프레임을 지원하는 비디오 코딩 포맷으로 비디오 스트림을 인코딩하기 위한 인코더 및 방법
US20060067403A1 (en) Information processing device and information processing method
JP2010516138A (ja) ビデオ信号を符号化するための方法及びシステム、符号化されたビデオ信号、並びに、ビデオ信号を復号するための方法及びシステム
CN111510643B (zh) 全景图和特写图的拼接系统及方法
JP6209026B2 (ja) 画像符号化装置及びその制御方法
KR100981456B1 (ko) 서브 화상 조정 방법과 이를 수행할 수 있는 컴퓨터 프로그램을 포함하는 컴퓨터 판독 가능 저장 매체 및 서브 화상 조정 장치
CN112567739B (zh) 用于视觉媒体编码和解码的平面预测模式
JP4165752B2 (ja) 画像データへの秘匿データ挿入方式および秘匿データ検出方式
JPH10145788A (ja) 映像再生装置
KR100487330B1 (ko) 디지털 비디오의 썸네일 영상 생성 장치
JP5332329B2 (ja) 特定領域を等倍出力する機能を持ったダウンデコード装置
CN114422734A (zh) 一种录像机、视频数据处理方法、装置及电子设备

Legal Events

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