KR101819618B1 - 디지털 비디오 스트림에서의 트릭 플레이 - Google Patents

디지털 비디오 스트림에서의 트릭 플레이 Download PDF

Info

Publication number
KR101819618B1
KR101819618B1 KR1020167000613A KR20167000613A KR101819618B1 KR 101819618 B1 KR101819618 B1 KR 101819618B1 KR 1020167000613 A KR1020167000613 A KR 1020167000613A KR 20167000613 A KR20167000613 A KR 20167000613A KR 101819618 B1 KR101819618 B1 KR 101819618B1
Authority
KR
South Korea
Prior art keywords
frames
frame
video data
playback
identifying
Prior art date
Application number
KR1020167000613A
Other languages
English (en)
Other versions
KR20160019106A (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 KR20160019106A publication Critical patent/KR20160019106A/ko
Application granted granted Critical
Publication of KR101819618B1 publication Critical patent/KR101819618B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3081Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is a video-frame or a video-field (P.I.P)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/44Event detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

비디오 스트림의 개선된 재생을 위한 시스템 및 방법들이 제공된다. 비디오 단편들은 재생을 위한 다수의 연속 프레임들을 포함하고 있음을 식별한다. 단편들은 비디오 스트림 내에서 시간적으로 등 간격으로 이격될 수 있거나 또는 콘텐츠 적응성일 수 있다. 그 다음, 단편의 제1 프레임은 장면의 제1 프레임 또는 다른 적당한 정지 지점으로서 선택될 수 있다. 비디오 스트림을 인코딩 또는 디코딩하는 동안 생성되는 장면 검출, 물체 검출, 움직임 검출, 비디오 메타데이터, 또는 다른 정보는 적당한 단편 선택 시에 도움을 줄 수 있다.

Description

디지털 비디오 스트림에서의 트릭 플레이{TRICK PLAY IN DIGITAL VIDEO STREAMING}
본 발명의 양태들은 일반적으로 비디오 디스플레이의 분야에 관한 것이며, 좀 더 구체적으로 최종 사용자 장치 상에 디스플레이되는 비디오 콘텐츠의 재생을 최적화하는 것에 관한 것이다.
디스플레이 장치 상의 오디오 및 비디오 콘텐츠를 탐색할 때, 어떤 재생 모드들은 사용자가 미리 결정된 속도로 비디오 콘텐츠를 빨리 감기 또는 빨리 되감기(fast forward or rewind)하는 것을 허용한다. 비디오 콘텐츠를 통한 탐색 시의 문제점들 중 하나는 의도한 순간에 정확하게 플레이를 누르는 것이 어려워, 비디오 스트림(video stream) 내의 원하는 위치에서 재생을 재현하기가 어렵다는 것이다. 부가적으로 종래의 재생 모드들은 종종 정상 모드와 동일한 프레임 속도로 프레임들을 디스플레이하는데, 디스플레이하는 동안 빨리 감기 재생 모드는 플리커링(flickering)을 갖는 비디오 시퀀스(video sequence)를 생성할 수도 있으므로 보거나 이해하기가 어려울 수 있다. 대안으로 종래의 재생 모드는 종종 플리커를 피하기 위해 보다 느린 프레임 속도로 보다 적은 프레임들을 디스플레이 한다. 그러나, 프레임들 간에 점프들이 더 커질 수 있어 원하는 정지 지점을 포함하고 있는 프레임들을 점프할 수 있다.
따라서, 본 기술 분야에서는 빨리 감기 및 빨리 되감기 재생 모드들 동안 사용자에게 좀 더 친숙한 방식으로 비디오 데이터를 디스플레이하기 위한 시스템들 및 방법들이 필요하다.
본 발명의 다양한 실시예들의 전술 및 다른 양태들은 첨부 도면들을 참조하는 다음의 상세한 설명을 검토함으로써 명확해 질 것이며, 여기서 동일 참조 번호는 기능적으로 유사한 요소들을 나타낸다.
도 1은 본 발명의 일 실시예에 따른 예시적인 비디오 디스플레이 장치의 컴포넌트들을 예시하는 간략화된 블록 다이어그램 이다.
도 2는 본 발명의 일 실시예에 따른 예시적인 비디오 통신 시스템의 컴포넌트들을 예시하는 간략화된 블록 다이어그램 이다.
도 3은 본 발명의 일 실시예에 따른 예시적인 인코더의 컴포넌트들을 예시하는 간략화된 블록 다이어그램 이다.
도 4(a) 내지 도 4(c)는 비디오 데이터의 프레임들의 서브 셋을 위한 종래의 재생 모드들을 예시한다.
도 5(a) 내지 도 5(d)는 본 발명의 실시예들에 따른 재생을 위한 고정된 간격들을 갖는 예시적인 재생 모드들을 예시한다.
도 6(a) 내지 도 6(c)는 본 발명의 실시예들에 따른 예시적인 재생 모드들을 예시한다.
도 7(a) 및 도 7(b)는 본 발명의 실시예들에 따른 예시적인 빨리 되감기 재생 모드들을 예시한다.
도 8은 본 발명의 일 실시예에 따른 재생을 위한 프레임들을 선택하기 위한 예시적인 방법을 예시한다.
개시된 실시예들에서, 비디오 프레임들은 개선된 재생을 위해 세부적으로 샘플(sub-sampled)된다. 하나의 독립된 프레임을 한번에 재생하는 대신, 다수의 연속 또는 밀접하게 이격된 프레임들을 재생한다. 그렇게 함으로써, 플리커링을 야기하지 않고 더 높은 프레임 속도로 재생할 수 있다. 이러한 식으로, 시청자가 연속적인 움직임을 볼 수 있게 되므로 좀 더 즐거운 경험을 할 수 있어 시청자가 콘텐츠를 인식하기가 좀 더 쉬워진다.
비디오 시퀀스의 재생은 우선 디스플레이할 단편들(snippets)을 식별함으로써 결정될 수 있다. 한 단편은 디스플레이하기 위해 선택된 제1 프레임으로 시작하고, 이어서 재생 순서에 있는 제1 선택된 프레임에 후속하는 비디오 스트림으로부터 선택된 여러 개의 프레임으로 후속된다. 단편들은 비디오 스트림에서 균등한 간격으로 이격될 수 있다.
단편 선택은 또한 콘텐츠 적응성일 수 있다. 그래서, 한 단편의 제1 프레임은 한 장면의 제1 프레임으로서 선택될 수 있다. 장면 검출, 물체 검출, 및/또는 움직임 검출은 적당한 단편 선택에 도움을 줄 수 있다. 예를 들어, 적당한 단편들을 선택하도록, 프로그램들 간의 경계들에 관한 메타데이터(metadata)가 주어지고, 그 메타데이터에 매핑될 수 있는 디지털 매체 내의 표식들과 조합되면, 시청자가 적당한 정지 지점을 선택할 수 있는 방식으로 비디오 데이터의 콘텐츠를 디스플레이하도록 최적화 될 수 있다.
장면들 또는 비디오 시퀀스들은 콘텐츠가 불량한 품질일 경우, 장면 내의 프레임들의 수가 미리 결정된 임계치 미만일 경우, 시퀀스에서 검출된 움직임이 너무 커서 의미 있는 단편, 등을 형성할 수 없는 경우, 재생하는 동안 건너뛸(skip) 수 있다.
일 실시예에 따르면, 비디오 단편의 제1 프레임 또는 비디오 단편의 마지막 프레임은 약간 긴 시간 동안 디스플레이될 수 있다. 이는 사용자에게 더 넓은 범위의 시간을 제공하여, 그들이 플레이를 누르고 그들이 의도하는 정확한 지점(spot)에 도착할 수 있다.
도 1은 본 발명의 일 실시예에 따른 예시적인 비디오 디스플레이 장치(100)의 컴포넌트들을 예시하는 간략화된 블록 다이어그램 이다. 도 1에 도시된 바와 같이, 디스플레이 장치(100)는 비디오 데이터를 예를 들어 한 채널을 통해 로컬 저장 장치(110)로부터, 카메라(115)에 의해 포착되는 소스 비디오로서, 또는 다른 비디오 통신 방법으로부터, 예를 들어 위성 접속 또는 텔레비전 케이블 제공자(도시되지 않음)를 통해, 수신할 수 있다. 코딩된 비디오 데이터는 예측 코딩 기술 또는 다른 공지의 코딩 방법들에 따라 코딩될 수 있다. 채널로부터 수신된 비디오 데이터에 위해, 디스플레이 장치(100)는 채널 데이터를 수신하고 저장하기 위한 버퍼(105)를 포함한다.
도 1에 도시된 바와 같이, 비디오 데이터를 처리하기 위해, 디스플레이 장치(100)는 코딩된 비디오 데이터를 수신하여, 비디오 데이터를 인코딩하는 동안 수행된 코딩 처리를 반전시켜 그 코딩된 비디오 데이터를 디코딩하는 디코딩 엔진(125), 코딩된 비디오 데이터의 특성을 식별하여, 코딩된 비디오 데이터를 위한 디코딩 모드를 선택하고 비디오의 디스플레이를 관리하기 위한 제어기(130), 및 디스플레이를 위한 비디오를 준비하기 위해 그것을 더 처리하는 후 처리기(135)를 더 포함한다. 후 처리 동작들은 디스플레이되는 비디오의 품질을 개선할 수 있는 비디오 데이터의 필터링, 디인터레이싱(de-interlacing), 스케일링(scaling) 또는 기타 처리 동작들을 수행하는 것을 포함할 수 있다. 그 다음, 비디오 데이터는 스크린 또는 다른 디스플레이 상에 디스플레이 된다.
부가적으로, 제어기(130) 및/또는 후 처리기(135)는 빨리 감기, 빨리 되감기, 또는 다른 트릭 플레이 모드들 동안 비디오 데이터의 재생을 준비 및 관리할 수 있다. 그러한 준비는 대안적인 재생 모드들 동안 디스플레이될 선택된 또는 변화된 프레임들을 갖는 대안적 스트림의 생성을 포함할 수 있다. 디스플레이 장치(100)는 본 명세서에서 기술된 재생 모드들에 따라 비디오를 디스플레이하기 위해 변화된 비디오 데이터의 시퀀스들을 저장하기 위한 버퍼(140)를 포함할 수 있다. 부가적으로 이전에 생성된 본 명세서에서 기술된 바와 같은 대안은 채널 또는 다른 통신 스트림들을 통해 로컬 저장 장치(110) 내에 비디오 데이터와 함께 저장되거나 또는 비디오 데이터와 함께 수신될 수 있다.
도 2는 본 발명의 일 실시예에 따른 예시적인 비디오 통신 시스템(200)의 컴포넌트들을 예시하는 간략화된 블록 다이어그램 이다. 도 2에 도시된 바와 같이, 예시적인 비디오 코딩 시스템은 채널(230)을 통해 통신 제공되는 인코더 시스템(210) 및 디코더 시스템(220)을 포함할 수 있다. 인코더 시스템(210)은 소스 비디오(201)를 받아서 그 소스 비디오(201)를 코딩된 비디오로서 코딩할 수 있다. 인코딩 시스템(210)은 코딩된 비디오 데이터를 채널(230)로 출력할 수도 있으며, 이 채널은 광학, 자기 또는 전기 저장 장치와 같은 저장 장치일 수 있으며, 또는 컴퓨터 네트워크 또는 통신 네트워크에 의해 형성되는 통신 채널일 수 있다.
디코더 시스템(220)은 채널(230)로부터 코딩된 비디오 데이터를 검색하여, 인코더 시스템(210)에 의해 수행되는 코딩 동작들을 반전하고, 연관된 디스플레이 장치에 디코딩된 비디오 데이터를 출력할 수 있다. 비디오 디스플레이 장치들은 텔레비전, 개인용 컴퓨터들(데스크 탑 및 랩 탑 컴퓨터들 둘 모두), 테블릿 컴퓨터들, 휴대용 계산 장치, 미디어 플레이어들, 전용 화상 회의 설비, 등을 포함할 수 있다. 도시된 바와 같이, 시스템(200)은 비디오 코딩 및 디코딩을 일방향으로만 지원한다. 그러나, 일 실시예에 따른 비디오는 각 터미널에서 포착될 수도 있으며, 양방향 통신이 각 터미널에서 구현되는 인코더 및 디코더로 성취될 수 있다.
도 3은 본 발명의 일 실시예에 따른 예시적인 인코더(300)의 컴포넌트들을 예시하는 간략화된 블록 다이어그램 이다. 도 3에 도시된 바와 같이, 인코더(300)는 후 처리기(305), 코딩 엔진(310), 디코딩 엔진(315), 멀티플렉서(320), 및 제어기(325)를 포함할 수 있다. 인코더(300)는 카메라 또는 비디오 저장 장치와 같은 비디오 소스로부터 입력 소스 비디오 시퀀스(301)를 수신할 수 있다. 후 처리기(305)는 입력 소스 비디오 시퀀스(301)를 일련의 프레임들로서 처리하고 좀 더 효율적인 압축을 위해 소스 비디오를 조정할 수 있다. 예를 들어, 입력 소스 비디오 시퀀스의 이미지 콘텐츠는 각 프레임마다 적당한 코딩 모드를 결정하도록 평가될 수 있다. 후 처리기(305)는 인코더(300)에 의해 수행되는 코딩 동작들의 효율을 개선하는 잡음제거 필터링(de-noising filtering), 양방향 필터링 또는 다른 종류의 처리 동작들과 같은 필터링 동작들을 포함하는 비디오 처리 동작들을 프레임에 부가적으로 수행할 수도 있다.
종래의 인코더는 소스 비디오 시퀀스(301)를 코딩된 표현으로 코딩할 수 있으며, 여기서 코딩된 표현은 소스 비디오보다 더 작은 비트 속도를 가지며, 그에 의해 데이터 압축을 달성할 수 있다. 코딩 엔진(310)은 후 처리기(305)로부터 처리된 비디오 데이터를 수신하고 압축된 비디오를 생성할 수 있다. 데이터 압축을 위한 하나의 공통 기술은 예측 코딩 기술들(예, 시간적/움직임 예측 인코딩)을 사용한다. 예를 들어, 비디오 스트림 내의 일부 프레임들(I-프레임들)은 독립적으로 코딩될 수 있으며 일부 다른 프레임들(예, P-프레임들 또는 B-프레임들)은 다른 프레임들을 기준 프레임들로서 사용하여 코딩될 수 있다. P-프레임들은 단일 사전 코딩된 프레임(P-프레임)을 참조하여 코딩될 수도 있으며, B-프레임들은 한 쌍의 사전-코딩된 프레임들, 통상적으로 디스플레이 순서에서 B-프레임 이전에 발생하는 프레임, 및 디스플레이 순서에서 B-프레임의 다음에 발생하는 다른 프레임을 참조하여 코딩될 수 있다.
코딩 엔진(310)은 H.263, H.264, 또는 MPEG-2와 같은 미리 결정된 다단 프로토콜에 따라 동작할 수 있다. 그러므로 코딩된 비디오 데이터는 프로토콜에 의해 규정된 신택스(syntax)에 합치할 수 있다. 부가적으로 코딩 엔진은 비디오 데이터를 코딩하기 위해 다양한 코딩 모드들 중 하나를 선택하거나 또는 그들 중 하나를 할당 받을 수 있으며, 이 때 상이한 코딩 모드 각각은 소스 비디오의 콘텐츠에 따라 상이한 압축 레벨을 생성한다. 예를 들어, 코딩 엔진(310)은 본 명세서에서 "화소 블록"이라고 호칭되는 화소 데이터의 규칙적 배열들(예, 8×8 또는 16×16 블록들)에 따라 소스 비디오 프레임들을 분석할 수 있으며, 예측 잔여분들, 양자화 및 엔트로피(entropy) 코딩의 블록 예측 및 연산에 따라 화소 블록들을 코딩할 수 있다.
인코더(300)는 디코딩 엔진(315)을 더 포함하고 있어, 내부에서 수행된 코딩 동작들을 반전시켜서 코딩 엔진(310)으로부터 출력되는 코딩된 화소 블록들을 디코딩한다. 디코딩 엔진(315)은 디코더 시스템이 생성하는 소스 비디오 데이터의 동일한 디코딩된 복제를 생성할 수 있으며, 이 복제는 코딩 엔진(310)에 의해 수행되는 예측 코딩 기술들을 위한 기반으로서 사용될 수 있다. 디코딩 엔진(315)은 기준 프레임 캐쉬(reference frame cache)에 접근하여 디코딩을 위한 기준 데이터를 검색하고, 디코딩된 프레임 데이터를 저장할 수도 있으며, 이 데이터는 비디오 코딩 시스템에 입력되는 추후-수신되는 프레임들에 대한 예측 소스들을 나타낼 수 있다.
그 다음, 코딩된 프레임들 또는 화소 블록들은 코딩 엔진(310)으로부터 출력되고, MUX(320)에 의해 저장될 수도 있으며, 여기서 그들은 공통 비트 스트림으로 합성된 다음, 전송 채널에 의해 디코더, 터미널, 또는 데이터 저장 장치로 인도될 수 있다. 비디오 데이터를 복구하기 위해, 비트 스트림(bitstream)은 디코더에서 인코더에 의해 수행되는 코딩 과정들을 반전시킴으로써 압축 해제되어 수신된 디코딩된 비디오 시퀀스를 생성할 수 있다.
일 실시예의 양태에 따르면, 인코딩 처리하는 동안, 인코더(300)는 본 명세서에서 기술된 바와 같이, 비디오 데이터의 재생을 조정하는 것과 관련하는 장면 변경들 또는 다른 정보들을 식별할 수 있다. 예를 들어, 후 처리기(305) 또는 제어기(325)는 이 정보를 상술한 인코딩 처리하는 동안 포착할 수 있다. 그 다음 인코더에 의해 포착 또는 생성된 그러한 정보는 인코딩된 비디오와 함께 저장되고 및/또는 디코딩 및 프로세싱을 위해 디코더에 전달될 수 있다. 일 실시예에서, 인코더(300)는 대역 외 데이터를 위한 조정 프로토콜(governing protocol)에 의해 설정된 논리 채널들 내의 비디오 데이터의 시퀀스에 대한 코딩된 프레임들과 함께 재생 정보를 송신할 수 있다. 일 예로서, H.264 프로토콜에 의해 사용되는 경우, 인코더(300)는 H.264에 의해 명시되는 보충 향상 정보(supplemental enhancement information; SEI) 채널 내에서 재생 정보를 송신할 수 있다. 그러한 실시예에서, MUX(320)는 SEI 채널에 상응하는 논리 채널에서 재생 정보를 도입하기 위한 처리들을 나타낸다. 본 발명이 그러한 대역 외 채널들을 명시하지 못하는 프로토콜들과 함께 사용될 때, MUX(320)는 출력 채널 내에 재생 정보를 위한 개별 논리 채널을 설정할 수 있다.
그 실시예의 양태에 따르면, 인코더(300)는 다양한 재생 모드들 동안 디스플레이될 비디오 데이터의 단편들을 포함하는 대안적인 스트림들을 부가적으로 생성할 수 있다. 이러한 대안적인 스트림은 소스 비디오 데이터의 인코딩된 스트림들과 함께 개별적으로 인코딩되어 송신되거나 또는 저장되고 트릭 플레이하는 동안 접근될 수 있다.
도 4(a) 내지 도 4(c)는 비디오 데이터의 프레임들의 서브 셋을 위한 종래의 재생 모드들을 예시한다. 도 4(a)에서, 프레임들(1-30)을 포함하는 프레임들(400)의 시퀀스는 한 장면, 한 프레임 시퀀스, 한 영상 그룹, 또는 비디오 데이터 스트림의 다른 서브 셋을 나타낼 수 있다. 그 다음, 도 4(a)에 도시된 바와 같이, 정상 재생 동안, 프레임들(1-30)은 일정한 재생 속도 예를 들어, 초당 30 프레임들(fps)의 속도로 순서적으로 플레이될 수 있다.
종래에는, 다양한 빨리 감기 또는 빨리 되감기하는 재생 속도들은 비디오 데이터의 프레임들을 동일한 재생 속도(도 4(b)) 또는 상이한 재생 속도, 예, 10 fps(도 4(c))로 샘플링할 것이다. 도 4(b)에 도시된 바와 같이, 30 fps의 4배 빨리 감기 재생 모드는 플리커링을 갖고 있어 보거나 또는 이해하기 어려울 수 있는 는 비디오 시퀀스(410)를 생성할 수 있다. 도 4(c)에 도시된 바와 같이, 종래의 4배 빨리 감기 재생 모드는 프레임 속도를 10 fps로 감소시켜서 디스플레이될 프레임들의 가시성을 개선한 비디오 시퀀스(420)를 생성하지만, 디스플레이하는 프레임의 수가 적어서 적당한 정지 지점들을 점핑할 잠재성을 갖는다.
일 실시예에 따르면, 빨리 감기 재생 모드는 다른 프레임으로 전진 점핑하기 전에 다중 순차 프레임들을 디스플레이할 것이다. 도 5(a) 내지 도 5(b)는 본 발명의 일 실시예에 따른 예시적인 재생 모드들을 예시한다. 도 5(a)에 도시된 바와 같이, 4배 재생 속도로 디스플레이되는 비디오 시퀀스(500)는 각 점프 시 마다 재생 순서 내의 미리 결정된 수의 순차 프레임들을 디스플레이할 것이다. 예를 들어, 도 5(a)에 도시된 바와 같이, 프레임들(0-2)을 포함하는 단편이 처음에 디스플레이 되고, 그 다음, 프레임들(12-14)을 포함하는 단편, 그 다음, 프레임들(24-26), 등이 디스플레이 된다. 이러한 식으로, 재생 모드는 30 fps 디스플레이로 4배 재생 속도를 유지할 것이다. 각 점프 마다 연속 움직임을 디스플레이 하면, 시청자는 종래의 더 높은 재생 속도에서의 문제인 플리커링을 회피하면서 콘텐츠를 이해할 수 있다.
일 실시예의 양태에 따르면, 단편의 최초 프레임은 더 긴 주기의 시간 동안 디스플레이될 수도 있으며, 그에 의해 시청자가 새로운 단편이 디스플레이되고 있음을 보고 단편의 콘텐츠를 식별할 시간을 갖는 것을 보장한다.
사용자가 예를 들어, 원격 또는 다른 입력 장치로 빨리 감기 재생을 정지하도록 지시하면, 디스플레이 장치는 지시된 정지 지점 이전의 미리 결정된 수의 프레임들, 즉, 지시된 정지 지점 이전의 비디오 시퀀스의 미리 결정된 시간 량을 나타내는 프레임들을, 사용자가 정지한 장면의 시작부터 또는 사용자가 빨리 감기 재생을 정지하도록 지시한 지점부터 디스플레이할 수 있다.
그 미리 결정된 수의 프레임들은 예를 들어, 각 단편 내의 5개 또는 6개의 순차 프레임들을 디스플레이 하도록 변경될 수도 있고 또는 각 점프 사이의 고정된 간격이 변경될 수도 있음을 이해할 것이다. 그 다음 재생 속도(예, 4배)를 유지하기 위해, 프레임들 또는 단편들 간의 거리, 또는 한 단편 내의 프레임들의 수를 필요한 만큼 변경할 수 있다.
마찬가지로, 비디오 단편들의 재생 프레임 속도가 변경될 수 있으며, 예를 들어, 재생 프레임 속도는 비디오 데이터의 콘텐츠에 기초하여 적응적으로 변경될 수 있다. 도 5(b)에 도시된 바와 같이, 비디오 시퀀스(510)는 20 fps 속도에서 4배 재생 속도로 디스플레이 된다. 대안적으로, 순차 프레임들은 디스플레이될 그 다음 프레임 군으로 더 길게 전환(transition)함과 더불어 표준 재생 속도(즉, 30 fps)로 디스플레이될 수 있다. 이러한 대안적인 재생 모드는 도 5(c)에 도시된 바와 같은 비디오 시퀀스(520)로 예시된다.
일 실시예의 일 양태에 따르면, 사전에 식별된 프레임들의 시간적인 간격은 콘텐츠 적응성일 수 있다. 도 5(d)는 콘텐츠 적응성 프레임 타이밍으로 디스플레이될 비디오 시퀀스(530)를 예시한다. 도 5(d)에서, 낮은 움직임을 나타내는 프레임 시퀀스에 대하여, 세부적으로 샘플된 시퀀스는 디스플레이를 위해 밀접한 간격이지만 연속적인 프레임들을 포함하지 않는다. 예시적인 시퀀스를 도 5(d)에 도시한다. 낮은 움직임 시퀀스들은 예를 들어, 지역 및/또는 글로벌 움직임 큐(cue)들을 참조하여 종래의 움직임 분석 방법에 의해 검출될 수 있다. 예를 들어, 저장된 기준 프레임들에 기초하여 가장 좋은 예측을 갖는 프레임들은 적은 움직임을 가질 수 있고, 높은 움직임 프레임들은 저장된 기준 프레임들과의 상관관계가 작을 수 있다.
일 실시예의 일 양태에 따르면, 재생하는 동안 단편들 간의 점프들은 고정된 간격들에서 발생하지 않을 수 있다. 예를 들어, 재생하는 동안 디스플레이되는 프레임들은 그들의 콘텐츠에 기초하여 선택될 수 있다. 도 6(a)에 도시된 바와 같이, 비디오 시퀀스(600)를 재생하는 동안 각 단편은 한 장면의 시작에서 시작한다. 비디오 시퀀스(600)에서, 한 장면은 음영 프레임들의 각각에서(즉, 프레임들 0 및 84에서) 시작한다. 그 다음 연속 움직임은 다음 장면으로 점프하기 전의 각 장면의 시작에서 디스플레이될 수 있다.
장면 변화들은 종래의 장면 검출 방법에 의해 검출될 수 있다. 예를 들어, 인코딩하는 동안 인코더는 검출된 장면의 플래그 또는 다른 표식을 삽입할 수 있다. 대안적으로 장면 변화는 인트라-코딩된(intra-coded) 프레임(I-프레임) 내에서 검출될 때 디코더에서 검출될 수 있고 또는 다른 공지된 검출방법으로 검출될 수 있다.
검출된 장면들 및 다른 단편 시작 프레임들은 식별되어 계층 구조로 조직화될 수 있으므로 재생 스트림을 다양한 속도로 생성하는데 도움을 줄 수 있다. 예를 들어, 주요 장면들의 변화들이 식별될 수 있다. 주요 장면 변화들은 광고 프로그램 및 주요 프로그램 간의 전환들, 또는 비디오 콘텐츠 내의 다른 식별가능 변화들을 포함할 수 있다. 그 다음, 덜 중요하거나 또는 작은 장면 변화들이 식별될 수 있다. 예를 들어, 비디오 콘텐츠에서의 화자들 또는 장소들 간의 변화들이 식별될 수 있다. 일단 장면들의 계층 구조가 식별되면, 그러한 계층 구조는 비디오 데이터와 함께 저장되고 디스플레이 장치가 요청 받아 비디오 콘텐츠를 대안적인 재생 모드로 디스플레이할 때 접근될 수 있다. 그 다음, 더 낮은 속도의 재생을 위해, 크고 작은 장면 변화들이 단편 시작 점들로서 식별될 수 있다. 그러나 고속 재생 시에, 큰 장면들에 상응하는 단편들만이 디스플레이될 수 있다.
비디오의 콘텐츠 타입에 기초하여 단편 선택의 다른 방법을 고려할 수 있다. 예를 들어, 영화 또는 텔레비전 쇼들에 대해서는, 프레임 간격 선택은 상술한 바와 같은 종래의 장면 검출에 기초할 수 있다. 그러나 스포츠 프로그램들에 대해서는, 간격들을 소유 변화들, 스코어 변화들, 각 플레이, 등에 기초하여 선택할 수 있다. 일 예로서, 스코어 변화는 스코어보드를 나타내는 프레임의 부분들 내의 변화들을 식별함으로써 또는 소유의 변화를 나타내는 움직이는 방향의 변화를 검출함으로써 검출될 수 있다. 마찬가지로, 뉴스 프로그램들에 대해서는, 단편들이 각 뉴스 세그멘트 간의 전환들에서 시작하도록 세트될 수 있다.
부가적으로 오디오 단서들이 단편 시작 지점들을 식별할 때 협조할 수 있다. 예를 들어, 청중의 환호를 나타내는 소리의 증가는 스코어 변화를 나타낸다.
종래에 디스플레이를 위해 준비되는 비디오 데이터와 함께 입수할 수 있거나 또는 인코딩 또는 디코딩하는 동안 생성되는 기타 정보를 사용하여 단편을 식별할 수 있다. 예를 들어, 폐쇄 캡션 정보는 대화가 시작되거나 또는 종료될 때, 새로운 인물이 말할 때, 등을 나타낼 수 있다. 부가적으로 물체 검출 및 관련된 정보는 한 장면의 콘텐츠들 및/또는 변화들에 대하여 단서들을 제공할 수 있다. 또한 단편들은 그들이 비디오 또는 오디오 콘텐츠에 대한 전부일 경우와 그에 따라 선택될 경우에도 선호될 수 있다. 또한 비디오 데이터와 연관된 다른 메타데이터는 단편이 어디에서 시작해야 하는지를 식별하기 위한 관련 정보를 제공할 수 있다. 예를 들어, 비디오에 대한 생성 시간 또는 다른 타임 스탬프(stamp) 정보는 비디오 데이터의 시퀀스가 이웃하는 시퀀스로부터 개별적으로 생성되었음을 나타낼 수 있다. 그러한 특징은 영화 또는 텔레비전 프로그램 비디오 스트림 내의 광고들을 식별하기 위해 특히 유용할 수 있다.
일 실시예의 일 양태에 따르면, 디스플레이 장치에서 수신되는 비디오는 비디오 스트림에 대한 시각표(timeline)를 나타내는 재생 목록 또는 목록(manifest)을 포함할 수 있다. 예를 들어, 목록은 비디오 데이터의 완전한 세그멘트들을 식별할 수 있다. 비디오 스트림의 제공자는 세그멘트들을 식별하기 위한 목록을 만들어 내었을 수도 있다. 그러한 목록은 케이블 텔레비전에서의 통상적인 것으로서 주요 콘텐츠를 손상시키지 않고 비디오 스트림의 효율적인 변경들을 허용할 수 있다. 예를 들어, 목록은 지역 방송국들이 지역 광고들을 비디오 스트림에 삽입하는 것을 허용한다. 그 다음, 단편들은 목록에서 식별되는 세그멘트들과 일치하도록 선택될 수 있다.
대안적으로 단편들은 비디오의 덜 중요한 시퀀스들을 건너 뛰도록 설정될 수 있다. 예를 들어, 불량하게 촬영(shot)된 비디오 시퀀스는 불량한 조명으로 포착되었거나, 유효한 콘텐츠가 제한되었고, 시퀀스로부터 임의 프레임들을 디스플레이하지 않고 빨리 감기 플레이하는 동안 건너뛸 수 있다. 그러한 특징은 사용자가 생성한 모바일 비디오 또는 다른 사용자가 포착한 이미지들을 위해 특히 유용할 수 있다. 대안적으로 덜 중요한 시퀀스는 시퀀스의 크기에 의해 식별될 수 있다. 예를 들어, 장면이 미리 결정된 임계치 이하로 제한된 프레임들의 수가 검출될 경우, 그 시퀀스는 재생하는 동안 건너뛸 수 있다.
일 실시예의 일 양태에 따르면, 사용자에 의해 포착된 비디오 데이터는 미리 설정된 단편들을 포함할 수 있다. 비디오를 생성 또는 편집하는 동안, 사용자는 프레임들을 단편 시작 지점들로서 표식을 해둘 수 있다. 그 다음, 빨리 감기 재생하는 동안 단편들은 각 마크된 프레임에서 시작할 수 있다.
일 실시예의 일 양태에 따르면, 단편 전환 시의 프레임들은 페이드(fade) 효과를 생성하도록 혼합될 수 있다. 도 6(b)에 도시된 바와 같이, 비디오 시퀀스(610)를 재생하는 동안 단편 시작에 선행 및 후속하는 다중 프레임들은 페이드 효과를 생성하도록 합성될 수 있다. 마찬가지로, 다른 효과들이 단편들 간에 구현될 수 있다. 예를 들어, 이미지 처리를 사용하면, 단편들 또는 검출된 장면들 간의 전환들이 원활하게 되므로 그 전환이 더 명확해질 수 있다. 부가적으로 페이지 전환 또는 다른 시각적 효과들이 단편들 간의 전환 시에 구현될 수 있으므로 시청자에게 더 가시적인 전환을 만들 수 있다. 그러한 효과들은 그것들이 빨리 감기 모드에 있음을 사용자에게 더 명확하게 해주므로 장면 전환들을 더욱 명확하게 해줄 것이다.
일 실시예의 일 양태에 따르면, 단편 전환 시의 프레임들은 연장된 시간 주기 동안 디스플레이될 수 있다. 도 6(c)에 도시된 바와 같이, 비디오 시퀀스(620)를 재생하는 동안 디스플레이는 미리 결정된 시간 주기 동안 디스플레이되는 시퀀스의 마지막 프레임에서 일시 정지할 것이다. 이 효과를 달성하기 위해, 도 6(c)에 도시된 바와 같이, 그 간격의 마지막 프레임(즉, 프레임(10))은 연장된 시간 주기 동안 디스플레이될 수 있다. 대안적으로 마지막 프레임은 다음 단편의 장면이 디스플레이될 때까지 반복적으로 디스플레이될 수 있다.
일 실시예의 일 양태에 따르면, 빨리 감기 재생을 위한 옵션은 비디오 스트림 내의 마지막 항목 또는 마지막 단편으로 직접 점프하는 것을 포함할 수 있다. 마지막 항목은 영화에서의 마지막 장면 변화, 볼 게임에서 마지막 소유, 코미디 쇼에서 마지막 농담, 등과 같은 적응성 콘텐츠일 수 있다.
일 실시예의 일 양태에 따르면, 본 명세서에서 기술된 바와 같은 빨리 감기 재생 스트림을 나타내는 프레임들의 변경된 프레임 시퀀스를 갖는 비디오 데이터의 스트림은 인코딩하는 동안 생성되어, 비디오 디스플레이 장치에서 비디오 데이터와 함께 전송 및/또는 저장될 수 있다. 그 다음, 디스플레이 장치는 전체 비디오 스트림보다 오히려 선택된 재생 모드들에 대하여 본 명세서에서 기술된 바와 같이, 적절한 단편들을 디스플레이 하는데 필요한 재생 스트림들 만을 접근할 수 있다. 대안적으로 변경된 시퀀스는 디코딩하는 동안, 후 처리하는 동안, 또는 재생하는 동안 디스플레이 장치에서 생성될 수 있다.
비록 빨리 감기 기능을 참조하여 주로 설명하였지만, 본 명세서에서 기술된 재생 모드들은 또한 되감기하는 동안에도 적용될 수 있다. 빨리 되감기하는 동안, 재생 중 디스플레이되는 단편의 프레임들은 도 7(a)의 시퀀스(700)에 도시된 바와 같은 전진 재생 순서로 또는 도 7(b)의 시퀀스(710)에 도시된 바와 같은 역 재생 순서로 디스플레이될 수 있다.
도 8은 본 발명의 일 실시예에 따른 재생을 위한 프레임들을 선택하기 위한 예시적인 방법(800)을 예시한다. 도 8에 도시된 바와 같이, 비디오 스트림을 빨리 감기 또는 빨리 되감기 모드로 디스플레이하기 위해, 제어기는 우선 새로운 단편을 시작할 하나 이상의 프레임들을 선택할 수 있다(블록 810). 프레임들은 상술한 바와 같이 단편들을 형성하도록 선택될 수 있다. 프레임들을 선택하기 위한 예시적인 옵션들은 도 8에 도시된다. 예를 들어, N번째 프레임마다 선택될 수 있다(블록 811). 그렇지 않고, 만일 비디오 스트림과 연관된 목록이 존재하면(블록 812), 목록에서 식별되는 각 세그멘트의 시작에서 한 프레임이 선택될 수 있다(813). 그렇지 않고, 만일 장면 검출 방법이 이용가능하면(블록 814), 각 검출된 장면의 시작에서 한 프레임이 선택될 수 있다(블록 815). 단편을 시작하도록 프레임들을 선택하기 위한 다른 옵션들은 본 명세서에서 기술된 실시예들과 일치하여 구현될 수 있다.
그 다음, 제어기는 각각의 미리 선택되는 시작 프레임 이후의 프레임들을 선택하여 디스플레이하게 할 수 있다(블록 820). 프레임들은 상술한 바와 같이 단편들을 형성하도록 선택될 수 있다. 단편들을 형성도록 프레임들을 선택하기 위한 예시적인 옵션들은 도 8에 도시된다. 예를 들어, 각 시작 프레임 이후마다 연속적인 M개 프레임들이 선택될 수 있다(블록 821). 빨리 감기 디스플레이를 유효화하기 위해 M< N, 여기서 N 은 두 연속 단편들의 시작 지점의 프레임들 간의 거리임을 이해할 것이다. 그렇지 않고, 만일 비디오 시퀀스에서 프레임들에 대한 움직임 정보가 낮은 움직임 프레임들에 대하여 존재하면(블록 822), 그 간격 내의 미리 결정된 수의 비-시퀀스 프레임들, 예를 들어, 매 X개 프레임들이 선택될 수 있다(블록 823). 간격 X는 콘텐츠 특성들에 기초하여, 예를 들어, 낮은 움직임 장면이 검출될 때 적응적으로 조정될 수 있다. 본 명세서에서 설명되는 실시예들과 일치하는 단편을 형성하도록 프레임들을 선택하기 위한 다른 옵션들이 구현될 수 있다.
일 실시예에 따르면, 선택된 단편의 말단에 있는 프레임들 및 그 다음 단편의 시작에 있는 프레임들은 상술한 바와 같이, 페이드 효과를 생성하도록 혼합될 수 있다(블록 830). 그 다음, 일단 단편에 대한 프레임들이 선택되면, 단편은 디스플레이될 수도 있다(블록 840).
상술한 바와 같이, 도 1 내지 도 3은 본 발명의 일 실시예에 따른 예시적인 시스템들의 기능적 블록 다이어그램들 이다. 구현에서, 시스템들은 하드웨어와 같이 구현될 수도 있으며, 이 경우, 개시된 블록들은 시스템들 내의 회로 서브시스템들에 상응할 수 있다. 대안적으로, 시스템들의 컴포넌트들은 소프트웨어로서 구현될 수 있으며, 이 경우에, 개시된 블록들은 소프트웨어 프로그램들 내의 프로그램 모듈들에 상응할 수 있다. 또 다른 실시예들에서, 시스템들은 하드웨어 회로 시스템들 및 소프트웨어 프로그램들을 둘다 포함하는 혼성 시스템들일 수 있다.
더욱이, 본 명세서에서 기술된 모든 기능 블록들은 제공될 필요가 없거나 개별 유닛들로서 제공될 필요가 없다. 예를 들어, 비록 도 1은 하나 이상의 실시예들에서 개별 유닛들로서 제어기, 디코딩 엔진, 및 후 처리기와 같은 예시적인 시스템의 컴포넌트들을 도시하나, 이들의 일부 또는 모두가 통합될 수 있다. 그러한 구현의 상세한 것은 달리 위에서 언급하지 않는 한 본 발명의 동작에 중요하지 않다. 부가적으로 비록 도 8은 예시적인 방법을 예시하지만, 동작들의 순서는 변경될 수도 있으며 또는 일부 동작들은 완전히 건너뛸 수도 있다.
일부 실시예들은 처리기에 의해 구현될 경우 처리기가 개시된 실시예들에 따른 방법을 수행하게 할 수도 있는 명령어 또는 명령어들의 세트를 저장할 수 있는 비 일시적 컴퓨터 판독가능 저장 매체 또는 제품을 사용하여 구현될 수 있다. 예시적인 방법들 및 컴퓨터 프로그램 명령어들은 비 일시적 기계-판독가능 저장 매체 상에 구현될 수 있다. 그 밖에도, 서버 또는 데이터베이스 서버는 기계 실행가능 프로그램 명령어들을 저장하도록 구성되는 기계-판독가능 매체를 포함할 수 있다. 본 발명의 실시예들의 특징들은 하드웨어, 소프트웨어, 펌웨어, 또는 그 조합으로 구현되고 시스템, 서브시스템, 컴포넌트들 또는 이들의 서브컴포넌트들로 활용될 수 있다. 기계-판독가능 저장 매체는 정보를 저장할 수 있는 임의 매체를 포함할 수 있다. 기계-판독가능 저장 매체를 예로 들면 전자 회로들, 반도체 메모리 장치, ROM, 플래시 메모리, 소거가능 ROM(EROM), 플로피 디스켓, CD-ROM, 광학 디스크, 하드 디스크, 또는 임의 전자기 또는 광학 저장 장치 등을 포함한다.
본 발명은 일부 실시예들을 참조하여 위에서 상세히 설명되었지만, 본 발명의 범위 및 사상 내의 변형들은 본 기술 분야에 숙련자들에게는 명확할 것이다. 따라서, 본 발명은 첨부된 청구범위들의 범위에 의해서만 제한되는 것으로 한다.

Claims (34)

  1. 비디오 데이터의 스트림(stream)을 디스플레이하기 위한 방법으로서,
    상기 비디오 데이터의 스트림 내의 장면 변화를 검출하는 단계;
    빨리 감기 플레이 모드(fast forward play mode) 동안 디스플레이될 상기 비디오 데이터의 스트림 내의 상기 장면 변화에 후속하는 제1 복수의 프레임(frame)들을 식별하는 단계 - 상기 제1 복수의 프레임들 내의 프레임들은 빨리 감기 플레이 모드의 속도(rate)에 의해 결정되는 서로 간의 일정한 시간적인 간격(temporal spacing)을 가짐 -;
    상기 제1 복수의 프레임들 내의 각각의 각자 프레임마다, 상기 각자 프레임과 상기 제1 복수의 프레임들 내의 다음 프레임 간의 간격 내에서 상기 비디오 데이터의 스트림으로부터 제2 복수의 프레임들을 식별하는 단계 - 일반 재생 모드(regular playback mode)에서 상기 제2 복수의 프레임들은 그들에 해당하는 제1 프레임에 연속함 -; 및
    각각의 제1 프레임 및 그것과 연관된 제2 복수의 프레임들을 정상 재생 속도(normal playback rate)로 디스플레이하는 단계를 포함하는, 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서, 상기 제2 복수의 프레임들을 식별하는 단계는 상기 제1 복수의 프레임들 내의 각 프레임 이후의 미리 결정된 수의 프레임들을 선택하는 단계를 포함하는, 방법.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서, 상기 제1 복수의 프레임들을 식별하는 단계는 검출된 장면을 건너뛰는 단계를 포함하는, 방법.
  8. 제7항에 있어서, 상기 검출된 장면은 상기 장면 내의 상기 프레임들의 수가 미리 결정된 임계치 미만일 때 건너뛰는, 방법.
  9. 제1항에 있어서, 상기 제1 복수의 프레임들을 식별하는 단계는 상기 비디오 데이터의 스트림과 연관된 목록(manifest) 내에서 식별되는 각 세그멘트(segment)에서 제1 프레임을 선택하는 단계를 포함하는, 방법.
  10. 제1항에 있어서, 제1 단편(snippet)을 형성하기 위해 복수의 프레임들로부터 선택된 프레임들을 제2 단편을 형성하기 위해 선택된 복수의 프레임들과 혼합하는 단계를 더 포함하되, 각 단편은 상기 제1 복수의 프레임들로부터의 한 프레임 및 상기 제1 복수의 프레임들 내의 상기 프레임에 후속하도록 선택된 상기 제2 복수의 프레임들로부터의 프레임들에 의해 형성되며, 상기 제1 및 제2 단편들은 재생 순서에서 연속적인, 방법.
  11. 제1항에 있어서, 상기 제2 복수의 프레임들을 식별하는 단계는 상기 프레임들이 낮은 움직임을 갖도록 결정될 때, 상기 제2 복수의 프레임들에 대한 부가 프레임들을 선택하는 단계 및 상기 제2 복수의 프레임들로부터의 프레임들을 드로핑(dropping)하는 단계를 포함하는, 방법.
  12. 제1항에 있어서, 상기 제1 복수의 프레임들을 식별하는 단계는 상기 비디오 데이터의 스트림을 인코딩하는 동안 포착된 재생 정보에 따라 각 세그멘트 내의 제1 프레임을 선택하는 단계를 포함하는, 방법.
  13. 제1항에 있어서, 상기 제1 복수의 프레임들을 식별하는 단계는 상기 비디오 데이터의 스트림을 디코딩하는 동안 포착되는 재생 정보에 따라 각 세그멘트 내의 제1 프레임을 선택하는 단계를 포함하는, 방법.
  14. 비디오 디스플레이 장치로서,
    비디오 데이터를 저장하는 메모리;
    상기 비디오 데이터를 빨리 감기 플레이 모드(fast forward play mode)로 디스플레이 하도록 하는 요청을 수신하도록 구성되고, 상기 비디오 데이터의 단편을:
    상기 비디오 데이터에서 장면 변화를 감지하는 것,
    디스플레이될 상기 비디오 데이터 내의 상기 장면 변화에 후속하는 제1 복수의 프레임들을 식별하는 것 - 상기 제1 복수의 프레임들 내의 프레임들은 상기 빨리 감기 플레이 모드의 속도(rate)에 의해 결정되는 서로 간의 일정한 시간적인 간격(temporal spacing)을 가짐 - , 및
    상기 제1 복수의 프레임들 내의 각각의 각자 프레임마다, 상기 각자 프레임과 상기 제1 복수의 프레임들 내의 다음 프레임 간의 간격 내에서의 상기 비디오 데이터 내에서 제2 복수의 프레임들을 식별하는 것 - 일반 재생 모드(regular playback mode)에서 상기 제2 복수의 프레임들은 그들에 해당하는 제1 프레임에 연속함 - 에 의해 선택하도록 구성되는 제어기; 및
    상기 선택된 단편의 각각의 제1 프레임 및 그것과 연관된 제2 복수의 프레임들을 정상 재생 속도(normal playback rate)로 디스플레이하기 위한 디스플레이를 포함하는, 비디오 디스플레이 장치.
  15. 삭제
  16. 삭제
  17. 제14항에 있어서, 상기 제2 복수의 프레임들을 식별하는 것은 상기 제1 복수의 프레임들 내의 각 프레임 이후에 미리 결정된 수의 프레임들을 선택하는 것을 포함하는, 비디오 디스플레이 장치.
  18. 제14항에 있어서, 상기 제1 복수의 프레임들 내의 각 프레임은 새로운 장면을 시작하는, 비디오 디스플레이 장치.
  19. 제14항에 있어서, 상기 제1 복수의 프레임들을 식별하는 것은 상기 비디오 데이터와 연관된 목록 내의 식별된 각 세그멘트 내의 제1 프레임을 선택하는 것을 포함하는, 비디오 디스플레이 장치.
  20. 프로그램 명령어들을 저장하는 비 일시적 컴퓨터 판독가능 매체로서, 상기 프로그램 명령어들은 프로세싱 장치에 의해 실행될 때, 상기 장치가:
    비디오 데이터의 스트림 내의 장면 변화를 검출하고,
    빨리 감기 플레이(fast forward play) 동안 디스플레이될 상기 비디오 데이터의 스트림 내의 상기 장면 변화에 후속하는 제1 복수의 프레임(frame)들을 식별하고 - 상기 제1 복수의 프레임들 내의 프레임들은 빨리 감기 플레이 모드의 속도(rate)에 의해 결정되는 서로 간의 일정한 시간적인 간격(temporal spacing)을 가짐 -;
    상기 제1 복수의 프레임들 내의 각각의 각자 프레임마다, 상기 각자 프레임과 상기 제1 복수의 프레임들 내의 다음 프레임 간의 간격 내에서의 상기 비디오 데이터의 스트림 내에서 제2 복수의 프레임들을 식별하고 - 일반 재생 모드(regular playback mode)에서 상기 제2 복수의 프레임들은 연속함 -; 및
    각각의 제1 프레임 및 그것과 연관된 제2 복수의 프레임들을 정상 재생 속도(normal playback rate)로 디스플레이하게 하는, 비 일시적 컴퓨터 판독가능 매체.
  21. 제20항에 있어서, 상기 제2 복수의 프레임들 내의 프레임들은 연속적인, 비 일시적 컴퓨터 판독가능 매체.
  22. 삭제
  23. 제20항에 있어서, 상기 제2 복수의 프레임들을 식별하는 것은 상기 제1 복수의 프레임들 내의 각 프레임 이후에 미리 결정된 수의 프레임들을 선택하는 것을 포함하는, 비 일시적 컴퓨터 판독가능 매체.
  24. 삭제
  25. 제20항에 있어서, 상기 제1 복수의 프레임들을 식별하는 것은 상기 비디오 데이터의 스트림과 연관된 목록 내의 식별된 각 세그멘트 내에서 제1 프레임을 선택하는 것을 포함하는, 비 일시적 컴퓨터 판독가능 매체.
  26. 제1항에 있어서, 상기 장면 변화는 상기 비디오 데이터의 스트림과 함께 제공되는 표식(indicator)에 의해 검출되는, 방법.
  27. 제1항에 있어서, 오퍼레이터 커맨드(operator command)에 응답해서,
    상기 빨리 감기 플레이 모드를 종료하는 단계; 및
    가장 최근에 검출된 장면 변화에 후속하는 프레임에 해당하는 재생 위치를 시작으로 정상 재생 모드(normal playback mode)로 진입하는 단계를 더 포함하는, 방법.
  28. 제1항에 있어서, 오퍼레이터 커맨드에 응답해서,
    상기 빨리 감기 플레이 모드를 종료하는 단계; 및
    상기 빨리 감기 플레이 모드의 종료시 가장 최근 디스플레이된 프레임에 앞서는 미리 정해진 개수의 프레임에 해당하는 재생 위치를 시작으로 정상 재생 모드(normal playback mode)로 진입하는 단계를 더 포함하는, 방법.
  29. 제14항에 있어서, 상기 장면 변화는 상기 비디오 데이터와 함께 제공되는 표식(indicator)에 의해 검출되는, 비디오 디스플레이 장치.
  30. 제14항에 있어서, 상기 제어기는 오퍼레이터 커맨드에 응답해서,
    상기 빨리 감기 플레이 모드를 종료하고,
    가장 최근에 검출된 장면 변화에 후속하는 프레임에 해당하는 재생 위치를 시작으로 정상 재생 모드(normal playback mode)로 진입하도록 추가적으로 구성되는, 비디오 디스플레이 장치.
  31. 제14항에 있어서, 상기 제어기는 오퍼레이터 커맨드에 응답해서,
    상기 빨리 감기 플레이 모드를 종료하고,
    상기 빨리 감기 플레이 모드의 종료시 가장 최근 디스플레이된 프레임에 앞서는 미리 정해진 개수의 프레임에 해당하는 재생 위치를 시작으로 정상 플레이 모드(normal play mode)로 진입하도록 추가적으로 구성되는, 비디오 디스플레이 장치.
  32. 제20항에 있어서, 상기 장면 변화는 상기 비디오 데이터의 스트림과 함께 제공되는 표식(indicator)에 의해 검출되는, 비 일시적 컴퓨터 판독가능 매체.
  33. 제20항에 있어서, 상기 프로그램 명령어들은 상기 장치가 추가적으로 오퍼레이터 커맨드에 응답해서,
    상기 빨리 감기 플레이 모드를 종료하고,
    가장 최근에 검출된 장면 변화에 후속하는 프레임에 해당하는 재생 위치를 시작으로 정상 재생 모드(normal playback mode)로 진입하도록 하게 하는, 비 일시적 컴퓨터 판독가능 매체.
  34. 제20항에 있어서, 상기 프로그램 명령어들은 상기 장치가 추가적으로 오퍼레이터 커맨드에 응답해서,
    상기 빨리 감기 플레이 모드를 종료하고,
    상기 빨리 감기 플레이 모드의 종료시 가장 최근 디스플레이된 프레임에 앞서는 미리 정해진 개수의 프레임에 해당하는 재생 위치를 시작으로 정상 재생 모드(normal playback mode)로 진입하게 하는, 비 일시적 컴퓨터 판독가능 매체.
KR1020167000613A 2013-07-12 2014-07-03 디지털 비디오 스트림에서의 트릭 플레이 KR101819618B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/941,174 2013-07-12
US13/941,174 US9508390B2 (en) 2013-07-12 2013-07-12 Trick play in digital video streaming
PCT/US2014/045450 WO2015006167A1 (en) 2013-07-12 2014-07-03 Trick play in digital video streaming

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020187000992A Division KR102232120B1 (ko) 2013-07-12 2014-07-03 디지털 비디오 스트림에서의 트릭 플레이

Publications (2)

Publication Number Publication Date
KR20160019106A KR20160019106A (ko) 2016-02-18
KR101819618B1 true KR101819618B1 (ko) 2018-01-17

Family

ID=51225902

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187000992A KR102232120B1 (ko) 2013-07-12 2014-07-03 디지털 비디오 스트림에서의 트릭 플레이
KR1020167000613A KR101819618B1 (ko) 2013-07-12 2014-07-03 디지털 비디오 스트림에서의 트릭 플레이

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020187000992A KR102232120B1 (ko) 2013-07-12 2014-07-03 디지털 비디오 스트림에서의 트릭 플레이

Country Status (7)

Country Link
US (2) US9508390B2 (ko)
EP (1) EP3008911B1 (ko)
JP (2) JP6255095B2 (ko)
KR (2) KR102232120B1 (ko)
CN (1) CN105359544B (ko)
TW (1) TWI571116B (ko)
WO (1) WO2015006167A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6217462B2 (ja) * 2014-03-05 2017-10-25 ソニー株式会社 画像処理装置及び画像処理方法、並びに画像処理システム
KR102476207B1 (ko) 2015-11-12 2022-12-08 삼성전자주식회사 반도체 장치의 동작 방법 및 반도체 시스템
US10182114B2 (en) 2016-07-04 2019-01-15 Novatek Microelectronics Corp. Media content sharing method and server
CN106375875A (zh) * 2016-09-29 2017-02-01 乐视控股(北京)有限公司 视频流的播放方法及装置
EP3337174B1 (en) * 2016-12-14 2021-04-07 Alcatel-Lucent España Method and device for transmission of content
TWI657697B (zh) 2017-12-08 2019-04-21 財團法人工業技術研究院 搜尋視訊事件之方法、裝置、及電腦可讀取記錄媒體
CN110121098B (zh) * 2018-02-05 2021-08-17 腾讯科技(深圳)有限公司 视频播放方法、装置、存储介质和电子装置
US11036996B2 (en) * 2019-07-02 2021-06-15 Baidu Usa Llc Method and apparatus for determining (raw) video materials for news
US11323730B2 (en) 2019-09-05 2022-05-03 Apple Inc. Temporally-overlapped video encoding, video decoding and video rendering techniques therefor
US10923158B1 (en) * 2019-11-25 2021-02-16 International Business Machines Corporation Dynamic sequential image processing
US11997339B2 (en) 2020-01-15 2024-05-28 Dolby International Ab Adaptive streaming of media content with bitrate switching
CN111683272A (zh) * 2020-05-22 2020-09-18 海信视像科技股份有限公司 一种流媒体播放方法及显示设备
CN112559800B (zh) 2020-12-17 2023-11-14 北京百度网讯科技有限公司 用于处理视频的方法、装置、电子设备、介质和产品
US11785314B2 (en) * 2021-11-04 2023-10-10 Rovi Guides, Inc. Systems and methods to enhance segment during trick play
CN118590723A (zh) * 2023-03-01 2024-09-03 北京字跳网络技术有限公司 视频变速播放方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004328218A (ja) * 2003-04-23 2004-11-18 Canon Inc 再生装置
JP2005286881A (ja) * 2004-03-30 2005-10-13 Nec Corp 映像コンテンツ再生装置および方法
JP2009522887A (ja) * 2006-01-05 2009-06-11 アルカテル−ルーセント コンテンツベースのトリックプレイモードを用いたメディア配信システム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3250467B2 (ja) * 1996-10-04 2002-01-28 松下電器産業株式会社 映像要約方法および映像表示方法
US6625383B1 (en) * 1997-07-11 2003-09-23 Mitsubishi Denki Kabushiki Kaisha Moving picture collection and event detection apparatus
US6327418B1 (en) 1997-10-10 2001-12-04 Tivo Inc. Method and apparatus implementing random access and time-based functions on a continuous stream of formatted digital data
EP1183689A1 (en) 1999-03-30 2002-03-06 Tivo, Inc. System for automatic playback position correction after fast forward or reverse
JP2002010259A (ja) 2000-06-21 2002-01-11 Mitsubishi Electric Corp 画像符号化装置及び画像符号化方法及び画像符号化プログラムを記録した記録媒体
EP1182584A3 (en) * 2000-08-19 2005-12-28 Lg Electronics Inc. Method and apparatus for video skimming
KR100403238B1 (ko) * 2000-09-30 2003-10-30 엘지전자 주식회사 비디오의 지능형 빨리 보기 시스템
JP4099973B2 (ja) 2001-10-30 2008-06-11 松下電器産業株式会社 映像データ送信方法及び映像データ受信方法、並びに映像監視システム
US20030156824A1 (en) * 2002-02-21 2003-08-21 Koninklijke Philips Electronics N.V. Simultaneous viewing of time divided segments of a tv program
US8155498B2 (en) * 2002-04-26 2012-04-10 The Directv Group, Inc. System and method for indexing commercials in a video presentation
US7106798B1 (en) * 2002-05-23 2006-09-12 Microsoft Corporation Smooth scanning presenter
US20040004599A1 (en) 2002-07-03 2004-01-08 Scott Shepard Systems and methods for facilitating playback of media
KR100555427B1 (ko) * 2002-12-24 2006-02-24 엘지전자 주식회사 비디오 재생 장치 및 지능형 스킵 방법
KR100991619B1 (ko) 2003-09-17 2010-11-04 엘지전자 주식회사 내용 기반 트릭 플레이를 위한 방송 서비스 방법 및 시스템
JP3867695B2 (ja) 2003-09-30 2007-01-10 ヤマハ株式会社 画像再生装置
JP4349277B2 (ja) * 2004-12-24 2009-10-21 株式会社日立製作所 動画再生装置
US8018995B2 (en) * 2005-03-09 2011-09-13 Vudu, Inc. System and method for trick play of highly compressed video data
KR100716291B1 (ko) 2005-07-27 2007-05-09 삼성전자주식회사 영상재생장치와 그 제어방법 및 pvr
US7881582B2 (en) 2006-06-12 2011-02-01 International Business Machines Corporation Slowing display of digital video
KR20080047847A (ko) 2006-11-27 2008-05-30 삼성전자주식회사 동적 영상물 재생 장치 및 방법
JP4763589B2 (ja) 2006-12-18 2011-08-31 株式会社日立製作所 再生装置、および、その再生方法
AU2007345938B2 (en) * 2007-02-01 2011-11-10 Briefcam, Ltd. Method and system for video indexing and video synopsis
JP4279318B2 (ja) * 2007-02-02 2009-06-17 三菱電機株式会社 映像表示装置
US8136140B2 (en) 2007-11-20 2012-03-13 Dish Network L.L.C. Methods and apparatus for generating metadata utilized to filter content from a video stream using text data
KR101464572B1 (ko) * 2008-03-20 2014-11-24 인스티튜트 퓌어 룬트퐁크테크닉 게엠베하 작은 스크린 크기들에 대해 비디오 이미지들을 적응시키는 방법
US20100077435A1 (en) 2008-09-24 2010-03-25 Concert Technology System and method for smart trick mode display
JP5213630B2 (ja) * 2008-10-09 2013-06-19 三菱電機株式会社 映像信号再生装置
US8781305B2 (en) * 2008-12-02 2014-07-15 Microsoft Corporation Media streaming with smooth fast-forward and rewind
US9087508B1 (en) * 2012-10-18 2015-07-21 Audible, Inc. Presenting representative content portions during content navigation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004328218A (ja) * 2003-04-23 2004-11-18 Canon Inc 再生装置
JP2005286881A (ja) * 2004-03-30 2005-10-13 Nec Corp 映像コンテンツ再生装置および方法
JP2009522887A (ja) * 2006-01-05 2009-06-11 アルカテル−ルーセント コンテンツベースのトリックプレイモードを用いたメディア配信システム

Also Published As

Publication number Publication date
EP3008911A1 (en) 2016-04-20
KR20180008891A (ko) 2018-01-24
JP6562992B2 (ja) 2019-08-21
WO2015006167A1 (en) 2015-01-15
JP2018078583A (ja) 2018-05-17
US9508390B2 (en) 2016-11-29
US20170041681A1 (en) 2017-02-09
TWI571116B (zh) 2017-02-11
TW201515453A (zh) 2015-04-16
CN105359544A (zh) 2016-02-24
KR102232120B1 (ko) 2021-03-25
US10382830B2 (en) 2019-08-13
JP2016531471A (ja) 2016-10-06
CN105359544B (zh) 2019-01-11
US20150016804A1 (en) 2015-01-15
EP3008911B1 (en) 2020-11-04
JP6255095B2 (ja) 2017-12-27
KR20160019106A (ko) 2016-02-18
WO2015006167A8 (en) 2015-09-24

Similar Documents

Publication Publication Date Title
KR101819618B1 (ko) 디지털 비디오 스트림에서의 트릭 플레이
KR102218385B1 (ko) 고속 전환을 위한 코덱 기법
TWI571113B (zh) 視訊位元流中之隨機存取
US8891936B2 (en) Method and device for optimal playback positioning in digital content
KR20100028156A (ko) 미디어 전송 시스템 및 방법
US20150302890A1 (en) Pausing and resuming media play
JP2010508733A (ja) 資源の効率的な使用によるデジタル・ビデオ・レコーダにおけるトリック再生機能の実行
US20100118941A1 (en) Frame accurate switching
US20180114545A1 (en) Entertainment device with improved reverse play
US20230269441A1 (en) Intermediate key frame selection and animation
US20040028386A1 (en) Method and apparatus to facilitate the efficient implementation of trick modes in a personal video recording system
US7302160B1 (en) Audio/video recorder with automatic commercial advancement prevention
US20110135286A1 (en) Apparatus and method for extracting key frames and apparatus and method for recording broadcast signals using the same
US9354799B2 (en) Systems and methods for adaptive streaming systems with interactive video timelines
CN115278307A (zh) 一种视频播放方法、装置、设备和介质
JP5682167B2 (ja) 映像音声記録再生装置、および映像音声記録再生方法
JP2009044282A (ja) デジタル映像データ再生装置及び表示装置
JP2015526007A (ja) タイムシフト機能に関するデータを記録媒体上に記録する装置及び方法
JP2010219735A (ja) 放送受信装置
KR20150018108A (ko) Iptv 방송에서 화면재생 대기시간 단축을 위한 스트림 재사용 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체
CN101651805A (zh) 一种电视节目导航方法以及机顶盒
EP2548370A1 (en) Method and device for optimal playback positioning in digital content
JP2015050757A (ja) コンテンツ再生システム、通信装置、情報蓄積装置、及びプログラム

Legal Events

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