KR20090053723A - 미디어 스트림에 데이터를 임베딩하는 방법 및 장치 - Google Patents

미디어 스트림에 데이터를 임베딩하는 방법 및 장치 Download PDF

Info

Publication number
KR20090053723A
KR20090053723A KR1020080116221A KR20080116221A KR20090053723A KR 20090053723 A KR20090053723 A KR 20090053723A KR 1020080116221 A KR1020080116221 A KR 1020080116221A KR 20080116221 A KR20080116221 A KR 20080116221A KR 20090053723 A KR20090053723 A KR 20090053723A
Authority
KR
South Korea
Prior art keywords
media
file
data
session
media file
Prior art date
Application number
KR1020080116221A
Other languages
English (en)
Other versions
KR101550462B1 (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 KR20090053723A publication Critical patent/KR20090053723A/ko
Application granted granted Critical
Publication of KR101550462B1 publication Critical patent/KR101550462B1/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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • 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/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • 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/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23892Multiplex stream processing, e.g. multiplex stream encrypting involving embedding information at multiplex stream level, e.g. embedding a watermark at packet level
    • 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/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/406Transmission via wireless network, e.g. pager or GSM
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/552Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 미디어 파일을 향상시키는 방법에 있어서, 다수의 단말기들간의 통신 메시지들에 대한 실시간 교환을 위해 미디어 파일을 인코딩하는 과정과, 상기 실시간 교환의 비미디어 통신 메시지를 상기 미디어 파일에 임베딩하는 과정과, 상기 임베딩된 미디어 파일을 상기 다수의 단말기들 중 적어도 하나의 단말기에게 임베딩하는 과정을 포함한다.
비미디어 데이터, 미디어 파일, 임베딩, 삽입값, 동기워드, 인코딩, 디코딩

Description

미디어 스트림에 데이터를 임베딩하는 방법 및 장치{A METHOD AND AN APPARATUS FOR EMBEDDING DATA IN A MEDIA STREAM}
본 발명은 파일에 데이터를 임베딩하는 방법 및 장치에 관한 것으로서, 특히 비미디어 데이터(non media data)를 비디오 파일/오디오 파일/시청각 파일과 같은 미디어 파일에 임베딩하는 방법 및 장치에 관한 것이다. 이하의 설명에 있어 'A/B/C'로 기재되어 있을 경우, 상기 'A/B/C'는 'A와 B와 C' 및 'A 혹은 B 혹은 C'의 두 가지 경우를 모두 나타냄에 유의하여야만 한다.
최근 10년간, 미디어 파일들은 미디어 데이터를 저장하고, 통신 네트워크를 통해 미디어 데이터를 통신하기 위한 유용한 도구가 되어왔다. 비디오 파일/오디오 파일/시청각 파일을 포함하는 상기 미디어 파일들은 일반적으로 음악과, 비디오 기록의 세그먼트들(segments)과, 통화 섹션(speech sections)과, 제스츄어(gestures)와, 시각 표현들과, 음성 표현들과 같은 컨텐츠를 위한 캐리어(carrier)로서 사용된다.일반적으로, 상기 미디어 파일들은 미리 설정되어 있는 규격에 상응하게 인코 딩된다. 각 규격은 일반적으로 저장되거나 혹은 송신될 컨텐츠를 인코딩하기 위한 프로토콜과 상기 컨텐츠를 재생하기 위해 인코딩된 컨텐츠를 디코딩하는 프로토콜을 규정하고 있다.
이런 프로토콜들 중 하나 혹은 그 이상의 프로토콜들을 구현하는 디바이스 혹은 모듈은 코덱(coder-decoder (CODEC))이라고 칭해진다.하드 디스크 드라이브와, 실시간 기록을 기반으로 하는 플래쉬 메모리와 같은 디지털 미디어에 저장되는, 인코딩된 컨텐츠를 포함하는 미디어 파일들은 통신 네트워크를 통해 송신된다. 저장 장치와 네트워크 대역폭 모두는 해당하는 비용이 들기 때문에, 일반적으로 상기 코덱은 바람직한 레벨의 품질을 유지하는 동안 상기 컨텐츠의 디지털 표현을 압축시키기 위해 설계된다.
상기 압축 동안, 상기 미디어 컨텐츠는 전달하기에 크지 않은 상태로 압축된다. 상기 코덱은 수신된 미디어 신호들을 디지털 데이터로 인코딩하고, 상기 디지털 데이터를 상기 통신 네트워크를 통해 전달되는 프레임들에 압축시킨다. 목적지에서는, 이런 프레임들은 압축 해제되고 필요할 경우 아날로그로 변환된다.
음악의 경우, 엠펙-1 오디오 계층-3(motion picture experts group (MPEG)-1 audio layer-3 (MP3))과 윈도우 웨이브(windows wave (WAV))를 포함하는 다수의 코덱들이 존재한다. 이와 유사하게, 비디오의 경우, 엠펙-2(MPEG-2), 엠펙-4(MPEG-4), 오디오 비디오 인터리브(audio video interleave (AVI)), 윈도우 미디어 비디오(windows media video (WMV))를 포함하는 다수의 코덱들이 존재한다.
비디오 신호/오디오 신호/시청각 신호를 미디어 파일들로 인코딩하는 것은 인터넷 혹은 다른 네트워크 환경을 통한 스트리밍(streaming)을 가능하게 한다. 여기서 미디어의 스트리밍이라 함은 비디오 신호, 오디오 신호, 멀티미디어(multimedia) 신호가 네트워크를 통해 사용자 단말기로 전달되고, 전체 미디어 파일의 전달이 완료되기 전에 상기 사용자 단말기에서 재생 시작되는 것을 나타낸다. 상기 스트리밍은 상기 사용자 단말기가 상기 미디어 파일이 완전히 다운로드되기 전에 미디어 파일을 재생 시작함으로써 사용자가 상기 미디어 파일이 완전히 다운로드될때까지 기다리는 것을 감소시킬 수 있다.
통신 시스템에서 비미디어 데이터를 인코딩 및 디코딩하는 방안에 대한 필요성이 대두되고 있다. 또한, 통신 시스템의 쌍방향 세션에서 계산 복잡도를 감소시켜 비미디어 데이터를 인코딩 및 디코딩하는 방안에 대한 필요성이 대두되고 있다.
본 발명은 미디어 파일을 향상시키는 방법을 제안한다. 상기 방법은 다수의 단말기간 통신 메시지의 실시간 교환을 위해 미디어 파일을 인코딩하는 과정과, 상기 실시간 교환의 비미디어 통신 메시지를 상기 미디어 파일에 임베딩하는 과정과, 상기 임베딩된 미디어 파일을 상기 다수의 단말기 중 적어도 하나로 포워딩하는 과정을 포함한다.
추가적으로, 상기 비미디어 통신 메시지는 대부분 인코딩되지 않음을 특징으 로 한다.
추가적으로, 상기 포워딩 과정은 상기 임베딩된 미디어 파일을 상기 실시간 교환의 참가자에게 스트리밍하는 과정을 포함한다.
추가적으로, 상기 미디어 파일이 미디어 신호들을 포함할 경우, 상기 인코딩 전에 상기 미디어 신호들을 실시간으로 기록하는 과정을 더 포함한다.
추가적으로, 상기 각 단말기는 사용자 단말기와, 중앙 서버와, 인터페이스 노드와, 셀룰라 전화기를 포함하는 그룹의 멤버임을 특징으로 한다.
추가적으로, 상기 실시간 교환은 게임 세션과, 상업 세션과, 회의 전화와, 비디오 회의 전화를 포함하는 그룹의 멤버임을 특징으로 한다.
추가적으로, 상기 실시간 미디어 파일이 각각 프레임 식별자를 포함하는 다수의 프레임들을 포함할 경우, 상기 프레임 식별자 값과 실질적으로 유사한 값을 가지는 세그먼트들을 감소시키기 위해 상기 비미디어 통신 메시지를 인코딩하는 과정을 더 포함한다.
본 발명은 임베딩된 미디어 파일을 디코딩하는 방법을 제안한다. 상기 방법은 비미디어 데이터가 임베딩된 미디어 파일을 제공하는 과정과, 상기 미디어 파일로부터 상기 비미디어 데이터를 추출하는 과정과, 상기 비미디어 데이터를 무시하는 동안 상기 임베딩된 미디어 파일을 디코딩하는 과정과, 다수의 단말기간의 실시간 통신 메시지 교환을 포함하는 쌍방향 세션에 상기 비미디어 데이터를 사용하는 과정을 포함하며, 상기 비미디어 데이터의 적어도 50%는 인코딩되지 않음을 특징으로 한다.
추가적으로, 상기 비미디어 데이터는 상기 비미디어 데이터의 생성자와 상기 비미디어 데이터의 플레이어간에 유지되고 있는 데이터 세션의 통신 메시지를 포함함을 특징으로 한다.
추가적으로, 상기 디코딩 과정과 사용 과정은 함께 수행됨을 특징으로 하는 한다.
추가적으로, 상기 임베딩된 미디어 파일이 각각 미디어 프레임 태그를 포함하는 다수의 미디어 프레임과, 각각 데이터 세션 태그를 포함하는 다수의 데이터 세션 프레임을 포함할 경우, 상기 디코딩 과정은 상기 다수의 데이터 세션 프레임을 무시하는 동안 상기 다수의 미디어 프레임에 저장되어 있는 정보를 재생하는 과정을 포함한다.
본 발명은 프레임 기반 파일에 비미디어 데이터를 임베딩하는 방법을 포함한다. 상기 방법은 비미디어 데이터와 각각이 프레임 식별자를 포함하는 다수의 프레임들을 포함하는 프레임 기반 파일을 제공하는 과정과, 상기 프레임 식별자와 동일한 값을 가지는 상기 비미디어 데이터의 세그먼트들을 변경시키는 과정과, 상기 비미디어 데이터 유닛을 상기 프레임 기반 파일에 임베딩하는 과정과, 상기 임베딩된 미디어 파일을 출력하는 과정을 포함한다.
추가적으로, 상기 변경 과정은 상기 비미디어 데이터의 대부분을 인코딩하는 동안 수행됨을 특징으로 한다.
추가적으로, 상기 변경 과정은 상기 세그먼트에 더미 값을 가산시키는 과정을 포함한다.
추가적으로, 상기 프레임 기반 파일은 엠펙-1 오디오 계층-3(motion picture experts group (MPEG)-1 audio layer-3 (MP3)) 파일이며, 상기 프레임들은 MP3 프레임임을 특징으로 한다.
본 발명은 다수의 참가자간의 쌍방향 세션에 참가하는 이동 통신 단말기를 제안한다. 상기 이동 통신 단말기는 다수의 참가자간 통신 메시지들의 실시간 교환을 위한 미디어 파일을 인코딩하기 위해 구성된 인코딩 모듈과, 상기 쌍방향 세션의 통신 메시지를 적어도 50%가 인코딩되지 않은 상기 미디어 파일에 임베딩시키기 위해 구현된 임베딩 모듈과, 상기 실시간 통신 메시지 교환에서 상기 임베딩된 미디어 파일을 사용하기 위해 구성된 쌍방향 데이터 세션 모듈을 포함한다.
추가적으로, 상기 실시간 미디어 파일이 각각 프레임 식별자를 포함하는 다수의 프레임들을 포함할 경우, 상기 프레임 식별자 값과 실질적으로 유사한 값을 가지는 세그먼트들을 감소시키기 위해 상기 비미디어 통신 메시지를 인코딩하기 위해 구성된 인코딩 디바이스를 더 포함한다.
추가적으로, 상기 통신 메시지는 게임 세션과, 상업 세션과, 회의 전화와, 비디오 회의 전화를 포함하는 그룹의 멤버임을 특징으로 한다.
추가적으로, 상기 이동 통신 단말기가 셀룰라 전화기일 경우, 상기 쌍방향 세션은 셀룰라 네트워크를 통해 수행됨을 특징으로 한다.
본 발명은 통신 네트워크를 통해서 다수의 참가자들간 실시간 통신 메시지 교환을 성립시키는 시스템을 제안한다. 상기 시스템은 미디어 파일을 상기 실시간 교환의 비미디어 통신 메시지와 임베딩하고, 상기 임베딩된 미디어 파일을 무선 네 트워크를 통해 무선 송신하기 위해 구성된 송신 통신 단말기와, 상기 무선 네트워크를 통해 상기 임베딩된 미디어 파일을 수신하고, 상기 미디어 파일을 재상하고, 상기 비미디어 통신 메시지를 함께 처리하기 위해 구성된 수신 통신 단말기를 포함한다.
추가적으로, 상기 수신 통신 단말기는 상기 임베딩된 미디어 파일을 재생하기 위한 디코딩 유닛을 포함하며, 상기 송신 통신 단말기는 상기 디코딩 유닛로부터의 상기 비미디어 통신 메시지를 감추기 위해 구성됨을 특징으로 한다.
추가적으로, 상기 실시간 미디어 파일이 각각 프레임 식별자를 포함하는 다수의 프레임들을 포함할 경우, 상기 송신 통신 단말기는 상기 임베딩 전에 상기 프레임 식별자 값과 실질적으로 유사한 값을 가지는 세그먼트들을 감소시킴으로써 상기 비디어 통신 메시지를 감추기 위해 구성됨을 특징으로 한다.
본 발명은 다수의 참가자간의 실시간 통신 메시지 교환에서 쌍방향 세션에 참가하기 위한 이동 통신 단말기를 제안한다. 상기 이동 통신 단말기는 상기 실시간 교환되는 메시지를 임베딩한 미디어 파일을 수신하고, 상기 미디어를 디코딩하기 위해 구성된 디코딩 모듈과, 상기 통신 메시지를 추출하기 위해 구성된 추출 모듈과, 상기 쌍방향 세션 동안 상기 통신 메시지를 사용하기 위해 구성된 쌍방향 데이터 세션 모듈을 포함한다.
추가적으로, 상기 디코딩 모듈은 상기 임베딩된 통신 메시지를 무시하는 동안 상기 디코딩을 수행하기 위해 구성됨을 특징으로 한다.
본 발명은 게임을 실행하기 위한 방법을 제안한다. 상기 방법은 게임의 자원 파일이 임베딩된 미디어 파일을 제공하는 과정과, 상기 자원 파일을 실행하고 상기 미디어 파일을 함께 디코딩하는 과정을 포함한다.
별다른 정의가 없는 한 본 명세서에 사용된 모든 기술 및 과학 용어는 본 발명의 속하는 분야의 당업자가 통상적으로 이해하는 것과 동일한 의미를 갖는다. 본 명세서에서 제공하는 재료, 방법 및 예들은 단지 예시일 뿐이며, 제한하려는 것이 아니다.
본 발명에 따른 방법 및 장치의 구현은 소정의 선택된 작업 또는 단계를 수동, 자동 또는 이들의 조합으로 실행 또는 완료하는 것을 포함한다. 또한, 본 발명에 따른 방법 및 장치의 실제 구현 및 바람직한 실시 형태의 장비에 따르면, 임의 펌웨어의 임의 운영 체제상에서 하드웨어 또는 소프트웨어 또는 이들의 조합에 의해 다수의 선택된 단계들을 구현할 수 있다. 예를 들면, 하드웨어로서, 본 발명의 선택된 단계들을 칩 또는 회로로 구현할 수 있다. 소프트웨어로서, 본 발명의 선택된 단계들을 임의의 적절한 운영 체제를 사용하는 컴퓨터가 실행할 수 있는 복수 개의 소프트웨어 명령으로 구현할 수 있다. 어떤 경우라도 본 발명의 방법 및 장치의 선택된 단계들은 복수 개의 명령을 실행하기 위한 컴퓨팅 플랫폼과 같은 데이터 프로세서에 의해 실행할 수 있다고 할 수 있다.
본 발명은 비미디어 데이터를 오디오 파일/비디오 파일/시청각 파일과 같은 미디어 데이터를 포함하는 미디어 파일에 임베딩하는 것을 가능하게 한다. 본 발명 은 단말기들간의 실시간 통신 메시지 교환에서 쌍방향 세션의 데이터 혹은 게임의 자원 파일이 될 수 있는, 상기 임베딩된 비미디어 데이터는 상기 미디어 데이터를 재생하고 상기 비미디어 데이터를 프로세싱하기 위해 필요로 되는 전체 계산 복잡도를 감소시킬 수 있다. 본 발명은 비미디어 데이터를 거의 대부분 인코딩되지 않도록 처리함으로써 비미디어 데이터의 디코딩이 비교적 낮은 계산 복잡도를 가지는 것을 가능할 뿐만 아니라, 상기 디코딩이 셀룰라 전화기와 개인 휴대용 정보 단말기와 같은 비교적 제한된 계산 성능을 가지는 디바이스들에 의해 수행되는 것을 가능하게 한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
본 발명은 비미디어 데이터(non-media data)를 오디오 파일/비디오 파일/시청각 파일과 같은 미디어 데이터(media data)를 포함하는 미디어 파일에 임베딩(embedding)하는 방법 및 장치를 제안한다. 이하의 설명에 있어 'A/B/C'로 기재되어 있을 경우, 상기 'A/B/C'는 'A와 B와 C' 및 'A 혹은 B 혹은 C'의 두 가지 경우를 모두 나타냄에 유의하여야만 한다. 단말기들간의 실시간 통신 메시지 교환에서 쌍방향 세션(session)의 데이터 혹은 게임의 자원 파일이 될 수 있는, 상기 임 베딩된 비미디어 데이터는 상기 미디어 데이터를 재생하고 상기 비미디어 데이터를 프로세싱하기 위해 필요로 되는 전체 계산 복잡도를 감소시킬 수 있다.
본 발명은 MP3 파일과 같은 프레임 기반 미디어 파일을 향상시키기 위한 방법을 제안한다. 상기 방법은 MP3 규격에서 정의된 프로토콜과 같은 인코딩 프로토콜에 상응하게 인코딩된 미디어 파일을 제공하고, 실시간 통신 메시지 교환의 통신 메시지와 같은 비미디어 데이터를 상기 미디어 파일에 임베딩하는 과정을 포함한다. 상기 실시간 통신 메시지들의 교환을 쌍방향 세션(interactive session)이라 칭하기로 한다.
또한, 데이터가 인코딩되지 않는, 대부분의 비미디어 데이터는 상기 디코딩이 비교적 낮은 계산 복잡도를 가지는 것을 가능할 뿐만 아니라, 상기 디코딩이 셀룰라 전화기와 개인 휴대용 정보 단말기(personal digital assistants(PDA))와 같은 비교적 제한된 계산 성능을 가지는 디바이스(device)들에 의해 수행되는 것을 가능하게 한다.
상기 방법은 상기 쌍방향 세션의 참가자에게 상기 임베딩된 미디어 파일을 포워딩(forwarding)하는 과정을 더 포함한다. 선택적으로, 상기 임베딩된 파일은 상기 쌍방향 세션동안 실시간으로 스트림될 수 있다.
본 발명의 실시예에서, 상기 임베딩된 미디어 파일은 이벤트 메시지(event message)들과, 명령(instruction)들과, 업데이트(update) 메시지들을 포함할 수 있는 상기 비미디어 데이터를 1개의 파일 내에서 미디어 데이터와 결합한다. 그리고 이에 대한 구체적인 설명은 하기에서 이루어질 것이다.
또한, 임베딩은 참가자들이 미디어 파일과 세션 통신 메시지들을 송신하기 위한 공통 채널을 사용하는 것을 가능하게 하는 쌍방향 세션에 필요로되는 대역폭을 감소시킨다. 일 예로, 상기 쌍방향 세션이 음악 게임과 같은 게임 세션일 경우, 상기 임베딩된 미디어 파일은 사용자에 의해 생성되고/조작되는 음악 세그먼트와, 상태(status) 메시지와, 게임 명령과, 게임 관련 이벤트 메시지 등과 같은 세션에 관련된 통신 메시지를 포함한다.
본 발명의 또 다른 실시예에들에서는 비미디어 데이터를 MP3 파일과 같은 프레임(frame) 기반 파일에 임베딩하는 방법을 설명한다. 상기 방법에서, 미디어 신호들을 인코딩하는 프레임 기반 파일은 세션 통신 메시지와 같은 비미디어 데이터와 임베딩된다.
이미 널리 알려진 바와 같이, MP 3 파일과 같은 프레임 기반 파일은 디코딩동안 인코딩된 미디어 데이터의 동기를 위해 사용되는 동기워드(syncword)와 같은 프레임 식별자(frame identifier)를 각각 포함하는, 다수의 프레임들을 포함한다. 여기서, 상기 다수의 프레임들은 인코딩된 미디어 데이터의 프레임들이다.
추가적으로, 상기 프레임 기반 파일에 임베딩될 상기 비미디어 데이터는 인코딩되며, 동기워드로서 검출될 값을 가지는 세그먼트들은 더미 값(dummy value)과 가산된다. 인코딩은 그 디코딩 동안 상기 세그먼트들이 동기워드와 같은 프레임 식별자로서 검출되지 않도록 할 뿐만 아니라, 상기 디코딩 프로세스의 출력을 변경시키지 않도록 한다. 상기 비미디어 데이터의 세그먼트들이 상기 더미 값과 가산된 후, 상기 비미디어 데이터는 상기 프레임 기반 파일에 임베딩된다. 상기 비미디어 데이터는 상기 프레임 기반 파일에 임베딩될 때 거의 완전하게 임베딩된다. 선택적으로, 상기 비미디어 데이터는 헤더들을 포함하는 프레임들로 분할되며, 상기 헤더들은 MP3 디코더와 같은 관련 디코더에 의해 인식되지 않는다.
본 발명의 적어도 하나의 실시 형태를 상세히 설명하기 전에, 이하의 상세한 설명에 개시되어 있거나 도면에 예시되어 있는 구조 및 구성의 세부 사항에 본 발명의 용도가 제한되지 않는다는 것을 이해해야 한다. 본 발명은 그 밖의 실시 형태도 가능하며, 여러 방식으로 실시 또는 실행할 수 있다. 또한, 여기에서 사용된 단어 및 용어는 서술하기 위한 것일 뿐 제한하려는 것이 아님을 이해해야 한다.
도 1은 본 발명의 실시예에 따른, 참가자들간에 유지되는 쌍방향 세션의 통신 메시지들/게임의 자원 파일과 같은 비미디어 데이터를 가지는 미디어 파일을 향상시키는 방법을 도시한 순서도이다.
도 1을 참조하면, 자원 파일은 사용자 인터페이스 엘리먼트(user interface element)/게임에 의해 사용되는 자원들을 정의하는 컴파일 파일과 같은 하나 혹은 그 이상의 게임 엘리먼트들의 소스 파일(source file)과 언어 종속 스트링 텍스트(language-dependent string text)/상세한 설명(specification)를 포함하는 파일로서 이해될 수 있다.
쌍방향 세션은 상기 쌍방향 세션의 참가자들간의 통신 메시지 교환의 시리즈들이 실시간으로 발생되는 세션으로 이해될 수 있다. 쌍방향 세션들의 예로는, 게임 세션/비디오 기반 통신 세션/오디오 기반 통신 세션/다방면 통신 세션(multidirectional communication session)/다수 참가자 통신 세션(multiparty communication session) 등이 있다. 여기서, 상기 다수 참가자 통신 세션은 일 예로 비디오 회의 전화/오디오 회의 전화/ 상업 세션/미디어 파일들의 포워딩, 즉 스트리밍 혹은 송신과 같은 포워딩을 포함하는 다방면 세션이 될 수 있다.
상기 게임 세션은 음악 게임과 비디오 게임과 같은 미디어 게임으로 이해될 수 있으며, 상기 미디어 게임에서 사용자는 미디어 세그먼트와, 오디오/비디오의 쇼트 세그먼트를 상기 미디어 게임에 참여하고 있는 다른 사용자 혹은 컴퓨터로 송신한다.
쌍방향 세션의 참가자는 사용자 단말기와, 컴퓨팅 유닛과, 중앙 서버와, 인터페이스 노드와, 셀룰라 전화기와 쌍방향 세션에 참여할 수 있는 단말기 혹은 네트워크 노드로 이해될 수 있다.
상기 세션 통신 메시지는 업데이트 메시지들과, 이벤트 메시지들과, 명령들과, 상태 메시지들과, 상기 쌍방향 세션의 2 참가자들간에 스트리밍되는 비미디어 데이터로 이해될 수 있다.
본 발명의 일 실시예에서, 상기 쌍방향 세션은 음악 게임 세션이 될 수 있으며, 상기 뮤직 게임 세션에서 참가자는 다른 참가자/서버로 미디어 파일로서 스트리밍되는 음악 세그먼트들을 생성하고 조작할 수 있다.
본 발명의 일 실시예에서, 상기 방법은 상기 참가자가 게임 명령들과, 게임 상태 메시지들과, 게임에서 볼모(pawn)의 현재 상태 메시지와 같은 세션 통신 메시지들을 쌍방향 세션 동안 상기 미디어 파일에 임베딩시키기 위해 상기 음악 세그먼트들을 생성하고 조작하는 것을 가능하게 한다.미디어 파일은 MP3 파일과, AAC 파 일과, WAV 파일과, 비디오 파일과 MPEG 파일과, AVI 파일과, WMV 파일과 같은 시청각 파일로 이해될 수 있다.
먼저, 101 단계에 도시한 바와 같이, 인코딩된 미디어 파일이 제공된다. 상기 미디어 파일은 저장 유닛으로부터 수신되거나 혹은 기록된 미디어 신호 혹은 수신된 미디어 신호들로부터 국부적으로 인코딩될 수 있다. 102단계에 도시한 바와 같이, 상기 인코딩된 미디어 파일이 제공된 후, 하나 혹은 그 이상의 세션 통신 메시지들/게임 자원들이 상기 인코딩된 미디어 파일에 임베딩된다.
또한, 하기에서는 비미디어 데이터를 미디어 파일에 임베딩하는 방법에 대해서 설명하기로 한다. 또한, 하기에서는 상기 비미디어 데이터가 세션 통신 메시지들을 포함할 경우, 임베딩은 상기 쌍방향 세션에서 요구되는 대역폭을 감소시키고 상기 쌍방향 세션의 참가자들의 응답 레이트를 개선시키는 것을 가능하게 한다.
상기 방법은 쌍방향 세션 동안 스트리밍/포워딩되는 미디어 파일들을 향상시키기 위해 사용될 수 있다. 본 발명의 일 실시예에서는, 상기 미디어 파일은 쌍방향 미디어 게임에서 사용되는 통신 파일이 될 수 있다. 여기서, 상기 쌍방향 게임에서 사용자는 셀룰라 전화와, 스마트 전화와, 개인 휴대용 정보 단말기 등과 같은 통신 단말기를 상기 무선 네트워크들을 통해 미디어 파일들을 송신/수신하는데 사용한다.
상기 미디어 파일들은 디지털 형태로 미디어 신호들을 포함한다. 추가적으로, 상기 미디어 신호들이 아날로그 형태로 인터셉트(intercept)될 경우, 즉 상기 미디어 신호들이 마이크 혹은 그와 유사한 기기를 사용하는 연속적인 신호로 인터 셉트될 경우, 아날로그 디지털 변환기(analog-to-digital converter (ADC))가 아날로그 형태로 수신되는 미디어 신호들을 불연속 디지털 번호들에 상응하는 디지털 형태로 변환시키기 위해 사용된다.
상기 인터셉트된 미디어 신호들에서 나타내고 있는 컨텐츠는 바람직한 품질 레벨을 유지하는 동안 상기 컨텐츠를 압축하는 CODEC을 사용하여 추가적으로 인코딩된다. 상기 미디어 신호들이 오디오 컨텐츠에 대응할 경우, 상기 디지털 데이터 코덱은 상기 오디오 컨텐츠를 MP3, AAC, WAV와 같은 오디오 압축 프로토콜에 상응하게 압축한다.
상기 인터셉트된 미디어 신호들이 비디오 컨텐츠/시청각 컨텐츠에 대응할 경우, 상기 디지털 데이터 코덱은 MPEG-2, MPEG4, AVI, WMV와 같은 프로토콜에 상응하게 상기 비디오 컨텐츠/시청각 컨텐츠를 압축한다. 추가적으로, 상기 인코딩된 컨텐츠는 다수의 다른 프레임들로 분할된다.본 발명의 일부 실시예들에서, 상기 미디어 파일은 각각이 미디어 파일에 저장되는 미디어 데이터의 세그먼트와 동기 태그(synchronization tag)를 포함하는 다수의 미디어 데이터 프레임을 포함한다.
추가적으로, 상기 미디어 파일은 각각이 동기 태그를 가지는 헤더(header)를 포함하는 다수의 미디어 데이터 프레임들을 포함하는 MP3 파일이다. 여기서, 상기 동기 태그는 동기워드로 잘 알려져 있다.추가적으로, 상기 미디어 파일이 임베딩되기 전에, 임베딩될 예정이고, 상기 미디어 데이터 프레임들의 상기 동기 태그로서 동일한 값을 가지거나 혹은 실질적으로 동일한 값을 가지는 데이터의 세그먼트들이 상기 미디어 데이터 프레임들의 동기 태그들로서 디코딩될 수 없도록 하는 방식으 로서 인코딩된다.
추가적으로, 이런 세그먼트들 각각은 미디어 디코더에 의한 디코딩의 출력을 변경시키는 더미 값과 가산되고, 재구성되고, 혹은 대체되며, 이에 대해서는 하기에서 구체적으로 설명할 것이다. 추가적으로, 임베딩될 데이터는 각각이 동기 태그를 가지는 다수의 프레임들로 분할되며, 상기 동기 태그는 헤더에 포함되며, 상기 미디어 데이터 프레임들의 동기 태그와는 상이하다.
이런 방식으로, 데이터는 그 디코딩 출력의 변경없이도 미디어 파일에 임베딩될 수 있다. 또한, 거의 대부분의 임베딩된 비미디어 데이터는 인코딩되지 않아야만 하며, 상기 임베딩된 데이터의 디코딩은 비교적 낮은 계산 복잡도를 가질 수 있으며, 추가적으로 셀룰라 전화기와 개인 휴대용 정보 단말기 와 같은 비교적 제한된 계산 능력을 가지는 디바이스들에 의해 수행될 수 있다.
상기 미디어 파일이 다른 프로토콜들에 상응하게 인코딩될 수 있기 때문에, 상기 임베딩은 추가적으로 상기 미디어 파일을 인코딩하기 위해 사용된 인코딩 프로토콜에 상응하게 조정된다.상기에서 설명한 바와 같이, 본 발명의 일 실시예에서는, 비미디어 데이터가 게임의 자원 파일이 될 수 있다.
본 발명의 일 실시예에서는, 상기 자원 파일은 상기 임베딩된 미디어 파일의 재생과 함께 재생될 수 있다. 또한, 하기에서 설명되는 바와 같이, 상기 임베딩된 자원 파일은 상기 임베딩된 미디어 파일이 재생되는 동안에는 디코딩되지 않으며, 상기 임베딩된 미디어 파일의 미디어 데이터는 상기 자원 파일의 일부로서 실행되지 않는다.
102 단계에 도시되어 있는 바와 같이, 상기 미디어 파일이 임베딩된 후, 상기 임베딩된 미디어 파일은 상기 쌍방향 세션의 참가자에게 포워딩된다. 추가적으로, 상기 방법은 셀룰라 전화기와 같은 통신 단말기에 의해 상기 통신 단말기의 사용자에 의해 생성되는 오디오 파일에 멀티 플레이어 게임 세션에 연관된 이벤트 메시지들을 임베딩시키기 위해 실행된다.상기 멀티 플레이어 게임 세션은 다른 사용자들/게임 서버들/통신 서버들과 같은 하나 혹은 그 이상의 추가적인 참가자를 포함한다. 본 발명의 일 실시예에서, 상기 임베딩된 미디어 파일은 추가적으로 하나 혹은 그 이상의 게임 세션 참가자들에게 송신된다.
상기와 같은 게임 세션의 일 예로는 다수의 플레이어들, 즉 밴드 멤버들로 칭해질 수 있는 다수의 플레이어들이 참가하는 멀티플레이어 음악 게임이 있다. 각 플레이어는 다른 통신 단말기를 사용한다.
상기 게임 세션 동안, 상기 밴드 멤버들은 하나의 곡을 함께 연주한다. 상기 플레이어들 중 하나의 통신 단말기, 즉 마스터 플레이어(master player)로 칭해지는 하나의 통신 단말기는 상기 곡을 연주하기 위해 필요로되는 자원들을 관리한다. 이런 자원들은 배경 음악과, 게임 규칙과, 그래픽 객체와, 상기 게임 세션에 연관된 메타 데이터(metadata)를 포함한다.
추가적으로, 상기 자원들은 하나의 음악 자원 파일에 임베딩된다. 상기 마스터 플레이어의 통신 단말기는 하나 혹은 그 이상의 밴드 멤버들과 연결된 후, 상기 곡을 재생하기 위해 어떤 자원이 필요로 되는지를 확인하기 위해 각 밴드 멤버의 통신 단말기 상태 메시지들을 검사한다. 만약, 상기 통신 단말기들 중 하나가 상기 게임에 참가하기 위해 필요로되는 자원들을 가지고 있지 않을 경우, 상기 마스터 플레이어의 통신 단말기는 상기 게임에 참가하기 위해 필요로되는 자원들을 상기 게임에 참가하기 위해 필요로되는 자원들을 가지고 있지 않은 통신 단말기로 제공한다.
추가적으로, 상기 쌍방향 세션은 가상 레슨, 코스, 강의, 음성 학습 가이드, 시청각 프리젠테이션 등이 될 수 있다.
본 발명의 일 실시예에서, 상기 포워딩되는, 임베딩된 미디어 파일은 비디오 스트림/오디오 스트림을 포함할 수 있으며, 상기 비디오 스트림/오디오 스트림은 파워 포인트(PowerPoint™) 프리젠테이션과 같은 프리젠테이션에서 존재하는 강의를 설명/기록한다. 상기 미디어 파일에 임베딩된 세션 통신들은 상기 프리젠테이션/ 그 그래픽 객체들/상기 그래픽 객체들을 조작하기 위한 그래픽 명령들을 포함할 수 있다.
추가적으로, 상기 명령들은 상기 강의의 진행에 상응하게 송신되며, 추가적으로 상기 조작들과 함께 상기 강의 동안 상기 프리젠테이션에 적용된다. 이와 같은 방식으로, 상기 강의의 기록과 상기 프리젠테이션의 디스플레이를 가능하게 하는 정보 모두는 동일한 스트림에서 송신되며, 상기 강의의 기록과 정보 모두는 상기 사용자 단말기가 상기 강의를 재생하고 상기 강의를 간헐적으로 혹은 연속적으로 디스플레이하는 것을 가능하게 한다.
도 2는 본 발명의 일 실시예에 따른 쌍방향 세션의 통신 메시지들과 같은 비미디어 데이터가 임베딩된 미디어 파일을 디코딩하는 방법을 도시한 순서도이다.
도 2를 참조하면, 먼저 상기에서 설명한 바와 같이 오디오 파일/비디오 파일과 같은 미디어 파일은 게임 명령들과 같은 관련 세션 통신 메시지들과 같은 비미디어 데이터를 삽입하는 게임 세션과 같은 쌍방향 세션에서 스트리밍/포워딩될 수 있다.
151단계에 도시한 바와 같이, 상기 쌍방향 세션에 참가하고 있는 참가자들 중 하나 혹은 서버들에 의해 셀룰라 네트워크와 같은 네트워크를 통해서 송신된, 상기 임베딩된 미디어 파일은 상기 임베딩된 미디어 파일을 송신한 참가자들을 제외한 참가자들 중 하나의 사용자 단말기 혹은 상기 쌍방향 세션에 참가하고 있는 서버에서 수신된다.
152단계에 도시되어 있는 바와 같이, 지금부터는 상기 수신 종단이 상기 미디어 파일로부터 상기 세션 통신 메시지들을 추출할 수 있다. 상기에서 설명한 바와 같이, 상기 세션 통신 메시지는 프레임들에 삽입되고, 상기 임베딩된 미디어 파일을 추가적으로 프로세싱하지 않고도 추출 가능하다. 여기서, 상기 세션 통신 메시지가 삽입되는 프레임들은 상기 미디어 데이터 프레임들과는 상이하다.그리고 나서, 153단계에 도시되어 있는 바와 같이, 상기 추출된 세션 통신 메시지가 프로세싱된다.
또한, 154단계에 도시되어 있는 바와 같이, 상기 수신된, 임베딩된 미디어 파일은 상기 임베딩된 데이터를 추출/상기 미디어 데이터와 상기 비미디어 데이터간을 분리하지 않고 있는 그대로 재생된다.
상기에서 설명한 바와 같이, 상기 세션 통신 메시지는 미디어 디코더들에 의 해 검출되지 않도록 하는 방식으로 임베딩된다. 추가적으로, 상기 세션 통신 메시지는 프레임들 단위로 상기 미디어 파일에 삽입된다. 각 프레임은 상기 미디어 데이터 프레임들의 동기 태그와는 다른 동기 태그를 가지며, 상기 임베딩된 미디어 파일을 디코딩하는 상기 미디어 디코더는 상기 동기 태그들을 무시한다. 상기 153단계는 상기 152단계와 154단계가 수행되는 동안/이전에/이후에 수행될 수 있음에 유의하여야만 한다.
상기에서 설명한 바와 같이, 그리고 하기에서 설명될 바와 같이, 상기 비미디어 데이터의 작은 세그먼트들은 상기 미디어 파일에 저장되는 상기 미디어 데이터의 디코더에 의해 디코딩되는 것을 방지하기 위해 인코딩될 수 있다. 그러나, 이런 세그먼트들의 개수와 사이즈는 제한되어 있으며, 따라서 상기 비미디어 데이터의 대부분은 인코딩되지 않는 상태로 존재한다. 상기 비미디어 데이터의 대부분은 인코딩되지 않기 때문에, 그 디코딩은 매우 낮은 계산 복잡도를 가지고 수행되며, 따라서 제한된 계산 전력을 가지고 프로세서들을 사용하는 것을 가능하게 한다.
게다가, 상기와 같은 방법들에서는 상기 참가자들의 사용자 단말기들이 서로 다른 2개의 스트림들을 핸들링하는 대신에 미디어 데이터와 비미디어 데이터를 포함하는 단일 스트림을 처리하는 것이 가능하기 때문에, 상기와 같은 방법들은 보다 빠른 통신을 가능하게 하고, 스트리밍 자체의 계산 복잡도를 감소시킨다.
도 3과 도 4 각각은 본 발명의 실시예들에 따른 MP3 파일 300의 세그먼트들과 비미디어 데이터가 삽입된 MP3 파일을 개략적으로 도시한 도면이다.도3과 도 4를 참조하면, 상기에서 설명한 바와 같이 상기 비미디어 데이터를 상기 인코딩된 미디어 파일에 임베딩시키는 동작은 상기 인코딩 프로토콜에 상응하게 조정될 수 있다.
또한, 도 3, 도 4, 도 5에 관련된 설명은 MP3 프로토콜에 상응하게 인코딩된 미디어 파일에 비미디어 데이터를 임베딩하는 방법에 관련된다.이미 널리 알려져 있는 바와 같이, MP 3 파일은 인터넷과 같은 통신 네트워크를 통해 음악을 추가적으로 송신하기 위해 압축된 디지털 오디오 데이터를 포함하는 컴퓨터 파일이다.
본 발명의 실시예들에서 참조되는, 상기 MP3의 규격은 오디오 정보를 디지털적으로 나타내기 위한 방법을 정의한다.상기 MP3파일에서 오디오 정보는 압축되고 프레임들 301로 분할된다. 상기 MP3 규격에 따르면, 각 프레임 301은 MPEG의 버전과 stereo/mono에 상응하게 32비트 길이의 헤더 302와, 길이 9,17,23 바이트 중 하나의 길이를 가지는 부가 정보를 포함한다.임의의 파일의 모든 프레임들은 그 헤더들에 의해 구분 가능하며, 모든 관련 프레임들로부터 상기 압축된 정보를 추출하는 것을 가능하게 한다. 일단 이런 정보가 추출되면, 상기 오디오 정보는 연결되거나 혹은 연속적으로 처리될 수 있다. 상기 프레임들의 연결 혹은 프로세싱은 임의의 유효 프레임에 연속되는 유효 MP3 헤더와 함께 존재하지 않는 파일 내의 정보의 세그먼트를 무시한다.
상기 MP3 규격에 따르면, 각 프레임 300의 헤더 302의 첫 번째 워드는 길이 11 비트의 비트 스트링(string)이며, 상기 비트 스트링은 동기워드라 칭해지는 동기 태그로서 사용된다. 상기 MP3 규격에 따르면, 상기 동기워드의 값은 0xFFE 이다. 상기 디코딩 프로세스 동안, 프레임은 그 동기워드에 상응하게 구분된다. 상기 동기워드는 프레임의 시작을 지시하고, 디코더가 상기 프레임의 시작을 분석하고, 추가적으로 인코딩되어 있는 오디오 정보를 재생하거나 혹은 프로세싱하는 것을 가능하게 한다.
도 5는 본 발명의 실시예들에 따른 비미디어 데이터가 MP3 파일에 임베딩되기 전에 상기 비미디어 데이터를 인코딩하는 방법을 개략적으로 도시한 도면이다.
도 5를 참조하면, 상기에서 설명한 바와 같이 MP3 파일이 비미디어 데이터와 임베딩되기 전에 인코딩이 수행된다. 상기에서 설명한 바와 같이, 상기 디코딩 프로세스 동안, MP3 파일의 각 프레임은 구분되고 분석된다. 상기 프레임들은 각 프레임의 시작에 위치한 동기워드에 상응하게 구분된다.상기 분석된 정보를 변경시키지 않고 비미디어 데이터를 상기 MP3 파일에 임베딩시키기 위해서, MP3 동기 워드와 유사하거나 혹은 실질적으로 유사한 값, 일 예로 '0xFFE'값을 가지는 비트 스트링을 포함하는 상기 비미디어 데이터의 세그먼트들이 구분되고, 경보된다.
이런 방식으로, 상기 임베딩된 데이터는 MP3 프레임 혹은 MP3 프레임의 일부로서 디코딩되지 않는다.추가적으로, 동기워드로서 구분되고 상기 비미디어 데이터를 포함할 수 있는 비트 스트링들은 삽입값(jam value)으로 이해될 수 있는 구분 값 혹은 스트링을 가산시킴으로써 경보될 수 있다. 상기 삽입값은 상기 동기 워드를 경보하는 어떤 값이라도 될 수 있으며, 일 예로 '0xAA'가 될 수 있다. 500단계 및 501단계에 도시되어 있는 바와 같이, 상기 비미디어 데이터의 2개의 연속적인 바이트들이 리드된다. 그리고 나서, 502단계에 도시되어 있는 바와 같이 상기 2개의 연속적인 바이트들 중 선행하는 1개의 바이트가 인코딩된 타겟 버퍼 혹은 어레 이에 라이팅된다.
또한, 503단계에 도시되어 있는 바와 같이, 상기 2개의 연속적인 바이트들 중 선행하는 1개의 바이트와 후행하는 1개의 바이트는 MP3 프레임의 동기워드를 구성하지 않음이 증명된다.상기 2개의 연속적인 바이트들 중 선행하는 1개의 바이트가 상기 동기워드의 첫번째 바이트와 동일하고, 상기 2개의 연속적인 바이트들 중 후행하는 1개의 바이트가 상기 동기워드의 두 번째 바이트와 동일할 경우, 삽입값은 504단계에 도시되어 있는 바와 같이 상기 인코딩된 타겟 버퍼 혹은 어레이로 라이팅된다. 여기서, 일 예로 상기 동기워드의 첫 번째 바이트는 '0xFF'이고, 상기 동기워드의 두 번째 바이트는 '0xEx'라고 가정하기로 한다. 또한, 상기 삽입값이 라이팅된 후, 상기 2개의 연속적인 바이트들 중 후행하는 1개의 바이트는 505단계에 도시되어 있는 바와 같이 상기 인코딩된 타겟 버퍼 혹은 어레이에 라이팅된다.
일 예로, 동기 워드를 가지는 MP3 프레임 602의 구조를 개략적으로 도시하고 있는 도 6에 도시되어 있는 바와 같이, 상기 2개의 연속적인 바이트들 중 선행하는 1개의 바이트가 0xFF 600이고, 상기 2개의 연속적인 바이트들 중 후행하는 1개의 바이트가 0xEx 601일 경우, 삽입값은 일 예로 도 7에 도시한 바와 같이 인코딩된 타겟 버퍼 혹은 어레이에 라이팅된다.
본 발명의 실시예에서, 도 7에 도시되어 있는 인코딩된 타겟 버퍼는 도 6에 도시되어 있는 프레임을 포함하는 인코딩된 타겟 버퍼 603와 삽입값 0xAA 604를 포함한다. 상기에서 설명한 바와 같이, 상기 동기워드를 포함하는 상기 2개의 바이트들은 하나의 시퀀스로서 리드될 때 동기워드로서 이해될 수 있다.
도 5에서 설명한 방법에서는, 상기 2개의 바이트들이 MP3 디코더가 상기 2개의 바이트들을 연속적으로 디코딩하는 것을 방지하기 위한 삽입값에 의해 분류된다.상기 비미디어 정보는 상기 삽입값인, 동일한 값을 가지는 하나 혹은 그 이상의 비트 스트링들을 포함할 수 있다는 것에 유의해야만 한다. 삽입값들인 상기 비트 스트링들의 디코딩을 방지하기 위해서, 상기 비트 스트링들은 추가적으로 상기 비트 스트링들이 상기 인코딩된 타겟 버퍼 혹은 어레이에 가산될 때 이중화된다.
일 예로, 도 8과 도 9 각각은 삽입 값과 동일한 값을 가지는 비트 스트링 701을 포함하는 비미디어 데이터 700의 세그먼트와 상기 비트 스트링 701과 그 중복 버전 703을 포함하는 비미디어 데이터 702의 세그먼트를 도시하고 있다.
추가적으로, 상기 도 8 및 도 9에서 상기 삽입 값은 일 예로 '0xAA'이다. 추가적으로, 상기 비미디어 데이터에 적용될 수 있는 유일한 인코딩 프로세스는 상기에서 설명한 바와 같이 상기 삽입값과 동일한 값을 가지는 세그먼트들의 중복 동작이다. 상기 비미디어 데이터의 대부분은 인코딩되지 않기 때문에, 상기 비미디어 데이터는 비교적 낮은 계산 복잡도를 가지고 프로세싱될 수 있다.506단계와 507단계에 도시되어 있는 바와 같이, 상기 비미디어 데이터에 더 많은 바이트들이 존재할 경우, 그 추가적인 바이트들은 500단계 내지 507단계에 상응하게 인코딩된다. 그러나, 508단계 내지 509단계에 도시되어 있는 바와 같이 상기 두 번째 바이트가 상기 파일에 존재하는 마지막 바이트일 경우, 상기 프로세싱은 종료되고 상기 비미디어 데이터의 인코딩된 버전으로 채워진 상기 인코딩된 타겟 버퍼는 상기 MP3 파일에 임베딩될 준비가 된다.
도 1을 참조하여 현재까지의 설명을 다시 한번 정리하면 다음과 같다. 먼저 101단계 도시되어 있는 바와 같이, 상기 비미디어 데이터가 인코딩된 후, 102단계에 도시되어 있는 바와 같이 상기 인코딩된 비미디어 데이터는 MP3 파일인 미디어 파일에 임베딩된다.
추가적으로, 상기 인코딩된 비미디어 데이터는 일 예로 도 4에서 설명한 바와 같은 MP3 프레임들의 종료 지점에서 상기 MP3 프레임들의 옆에 임베딩된다.추가적으로, 상기 인코딩된 비미디어 데이터는 각각이 MP3 프레임의 종료 지점에 추가되거나 혹은 MP3 프레임들간에 추가된 비미디어 데이터 프레임들로 분할된다. 추가적으로, 각 비미디어 데이터 프레임은 상기 각 비미디어 데이터 프레임을 상기 비미디어 데이터의 컨테이너(container)로서 마킹하는 사인, 헤더 혹은 또 다른 태그를 가지고서 마킹된다.
도 10은 본 발명의 실시예에 따른 비미디어 데이터 프레임 550을 개략적으로 도시한 도면이다.
도 10을 참조하면, 상기 비미디어 데이터 프레임 550은 헤더 551과 바디 552를 포함한다. 여기서, 상기 바디 552는 상기 인코딩된 비미디어 데이터와 워터마크 기록 (watermark record) 553 과, 데이터 타입 기록 554와, 인코딩된 데이터 길이 기록 555와, 디코딩된 데이터 길이 기록 556을 포함한다.
추가적으로, 상기 워터마크 기록 553은 상기 비미디어 데이터 프레임 550의 시작을 나타내는 고유 마크이다. 또한, 이런 고유 마크는 상기 삽입값으로서 구분될 수 있는 비트 시퀀스를 포함할 수 없음을 유의하여야만 한다.
추가적으로, 상기 데이터 타입 기록 554는 상기 프레임의 상기 인토딩된 데이터 섹션을 설명하는 1바이트, 즉 8비트의 상기 인코딩된 데이터를 포함하는 각 유닛의 사이즈에 상응하는 값을 포함한다. 상기 데이터 타입 기록 554는 상기 삽입값 혹은 상기 워터마크 기록 후에 연속적으로 리드될 때 상기 삽입값으로서 리드될 수 있는 어떤 값이라도 포함할 수 없음에 유의하여야만 한다.추가적으로, 상기 데이터 타입 기록 554는 상기 인코딩된 데이터 557의 디코딩에 사용되는 값을 포함하는 제1타입 기록과 상기 미디어 파일에 임베딩되는 프레임들의 개수와, 연속하는 데이터 프레임들의 존재 여부와 같이 상기 디코더를 위한 제어 정보를 포함하는 제2필드를 포함한다.
추가적으로, 상기 인코딩된 데이터 길이 기록 555는 상기 프레임 550의 바디 길이에 상응하는 값을 포함한다. 여기서, 상기 프레임 550의 바디 길이는 바이트들 단위가 될 수 있다. 추가적으로, 상기 인코딩된 데이터 길이 기록 555 필드의 기본 사이즈는 32비트이다.
추가적으로, 상기 디코딩된 데이터 길이 기록 556은 상기 프레임에서 인코딩된, 디코딩된 폼인 상기 비미디어 데이터의 상기 디코딩된 데이터 길이에 상응하는 값을 포함한다. 여기서, 상기 비미디어 데이터의 상기 디코딩된 데이터 길이는 바이트들 단위가 될 수 있다.상기 디코딩된 데이터 길이 기록 556 필드는 모든 데이터가 상기 인코딩된 데이터로부터 추출되는 것을 확인하기 위한 제어 용도로서 사용된다. 상기 디코딩된 데이터 길이 기록 556 필드는 추가적으로 32비트가 될 수 있다.
다시 도 1을 참조하여 설명하면 다음과 같다. 먼저, 103단계 도시되어 있는 바와 같이, 상기 임베딩된 미디어 파일로는 일 예로 임베딩된 MP3 파일이 사용된다. 추가적으로, 상기 임베딩된 MP3 파일은 상기에서 설명한 바와 같이 또 다른 사용자 혹은 컴퓨터로 스트리밍된다.
도 11은 본 발명의 실시예에 따른 MP3 파일에 삽입된 비미디어 데이터를 디코딩하는 디코딩 프로세스를 도시한 순서도이다.
도 11을 참조하면, 먼저 임베딩된 MP3 파일은 추가적으로 800단계에 도시되어 있는 바와 같이 통신 세션의 참가자로부터 네트워크를 통해 수신된다. 그리고 나서, 801단계에 도시되어 있는 바와 같이. 상기 통신 세션의 첫 번째 바이트가 리드된다.804단계에 도시되어 있는 바와 같이, 상기 리드된 통신 세션의 첫 번째 바이트의 값과 상기 삽입값이 상이할 경우, 상기 임베딩된 미디어 파일이 리드된다.
이와는 달리, 802단계와 803단계에 도시되어 있는 바와 같이 상기 통신 세션의 첫 번째 바이트의 값과 상기 삽입값이 유사한 값을 가질 경우, 상기 임베딩된 미디어 파일에서 그 다음의 연속하는 바이트가 리드된다.상기와 같은 방식으로, 상기 삽입값들은 무시되고 상기 임베딩된 미디어 스트림들의 디코딩동안 디코딩되지 않는다. 또한, 804단계에 도시되어 있는 바와 같이, 상기 바이트는 디코딩된 타겟 버퍼 혹은 디코딩된 타겟 어레이와 같은 목적지 어드레스에 라이팅된다. 비미디어 데이터를 나타내고 삽입값과 같은 값을 가지는 비트 스트링들은 상기에서 설명한 바와 같이 인코딩 프로세스동안 이중화되고, 디코딩 프로세스 동안 손실되지 않는다.
805단계와, 806단계와 807단계에 도시되어 있는 바와 같이, 상기 디코딩 프로세스는 상기 미디어 파일에서 모든 바이트들을 위해 반복된다.상기에서 설명한 바와 같이, 상기 비미디어 데이터는 미디어 스트림들로 임베딩되며, 상기 미디어 스트림들은 서로 다른 프로토콜에 상응하게 인코딩된다. 이런 미디어 스트림들은 일 예로 MP3 스트림들인 오디오 신호들과 같은 미디어 신호들을 포함할 수 있다.
상기 미디어 스트림들은 피치(pitch)와 재생되는 음악 노트들의 강도(intensity)와 같은 이벤트 메시지들과 볼륨(volume), 비브라트(vibrato), 패닝(panning), 큐(cue)와 같은 파라미터들을 위한 제어 신호들과, 템포(tempo)를 설정하기 위한 클럭 신호들을 포함한다.
상기 비미디어 데이터는 비교적 효율적으로 프로토콜에 상응하게 인코딩된 미디어 스트림들로 임베딩될 수 있다. 여기서, 상기 프로토콜에 상응하게 인코딩된 데이터는 정의되지 않은 데이터 세그먼트들과 같은 폐기 데이터에 비교적 강인하다. 여기서, 상기 정의되지 않은 데이터 세그먼트들은 일 예로 상기 프로토콜에 상응하는 패킷들의 포맷을 관리하는 규칙 집합에 상응하여 정확하게 정의되지 않은 데이터 세그먼트들을 나타낸다.
도12-13은 본 발명의 실시예에 따른 인코딩 디바이스 900과 디코딩 디바이스 901을 개략적으로 도시한 도면이며, 상기 인코딩 디바이스 900과 디코딩 디바이스 901는 일 예로 셀룰라 전화기들과, 스마트 전화기들과, PDA 등과 같은 이동 통신 단말기들이 될 수 있다. 도 12 및 도 13을 참조하면, 본 발명의 실시예에서는 상기 인코딩 디바이스 900과 디코딩 디바이스 901는 통신 단말기와 같은 단일 디바이스 로 통합 구현될 수도 있으며, 일 예로 상기 단일 디바이스로는 세션 통신 메시지와 같은 비미디어 데이터를 프로세싱하기 위해 설계된. 셀룰라 전화기가 있다.
도 12에 도시되어 있는 바와 같이, 상기 인코딩 디바이스 900은 상기에서 설명한 바와 같이 비미디어 데이터 904를 생성하고 상기 생성된 미디어 데이터 904를 미디어 파일들에 삽입하기 위해 설계된다. 상기 인코딩 디아비스 900은 데이터 생성 모듈 905로부터 상기 비미디어 데이터를 수신하고, 상기 수신한 비미디어 데이터를 상기에서 설명한 바와 같이 인코딩하는 인코딩 모듈 903을 포함한다.
또한, 상기 데이터 생성 모듈 905은 사용자 인터페이스(user interface (UI))에 연결되고, 상기 인코딩 디바이스 900의 사용자의 동작을 기반으로한 이벤트 메시지들을 생성하는 프로세싱 모듈을 포함한다.상기 인코딩된 세션 통신 메시지는 음악 재생기, 음악 기록기, 혹은 디지털 음악 기구와 같은 미디어 생성 모듈 910으로부터의 하나 혹은 그 이상의 미디어 스트림들 907을 수신하는 상기 임베딩 모듈 906으로 포워딩된다.상기 임베딩 모듈 906은 상기 인코딩된 세션 통신 메시지를 상기에서 설명한 바와 같이 상기 수신된 미디어 스트림들 907로 임베딩한다.
상기 미디어 생성 모듈 910은 오디오 신호들을 인터셉트하기 위한 마이크로폰 908과, 비디오 신호 등을 인터셉트하기 위한 카메라 909 등을 포함할 수 있다.추가적으로, 상기 미디어 생성 모듈 910은 상기 인터셉트된 신호들을 불연속 디지털 숫자를 포함하는 디지털 파일로 변환하는 ADC를 포함한다.
또한, 상기 미디어 생성 모듈 910은 상기 인코딩 디바이스 900의 사용자가 오디오 신호들/비디오 신호들을 생성하기 위한 명령들을 삽입하는 것을 가능하게 하는 재생 모듈에 연결된다. 또한, 상기 재생 모듈은 상기 사용자가 쌍방향 음악 게임과 같은 쌍방향 미디어 게임에 참여하는 것을 가능하게 한다. 여기서, 상기 사용자는 음악의 혹은 음악에 속하는 명령들을 입력한다.
상기 임베딩 모듈 906은 상기 세션 통신을 상기 미디어 스트림들에 임베딩한 후, 상기 임베딩된 파일을 GSM(Global System for Mobile Communications) 모뎀, 혹은 WPAN(wireless personal area network) 인터페이스 혹은 WLAN(wireless local area network)과 같은 다른 무선 인터페이스로 포워딩한다. 상기 송신기는 상기 임베딩된 파일을 상기 쌍방향 통신의 또 다른 참가자로 포워딩하고, 송신하고, 스트리밍한다.
상기 WPAN 인터페이스는 상기 디바이스 근처에 존재하는 이동 전화와 같은 하나 혹은 그 이상의 국부 통신 엔터티들과 통신 링크를 셋업하기 위해 사용된다.
추가적으로, 상기 WPAN을 구성하는 무선 인터페이스는 블루투스(Bluetooth™) 송수신기 혹은 Wibreeㄾ 송수신기와 같은 단거리 무선 인터페이스를 포함하며, 상기 블루투스 송수신기는 IEEE 802.15.1에 상응하게 정의된다. 추가적으로 상기 블루투스 송수신기는 Bluetooth™ core specification version 2.0과 Bluetooth™ special interest group (SIG)의 향상 데이터 레이트(EDR)에 상응하게 정의된 Bluetooth™ EDR 칩을 사용한다.
추가적으로, WPAN 인터페이스는 광대역(ultra-wideband (UWB)) 주파수들을 사용하는 무선 송수신기를 포함한다.
본 발명의 실시예에서, 상기 무선 인터페이스 3은 WiMedia™ 규격 혹은 상기 무선 USB(Wireless USB (WUSB))에 상응하는 WPAN 4 를 성립한다.상기 WLAN 인터페이스는 하기에서 설명되는 바와 같이 상기 디바이스 900이 직접적으로 혹은 인터넷과 억세스 포인트를 통해 다른 계산 모듈과 연결을 성립하는 것을 가능하게 한다. 또한, 상기 WPAN 인터페이스와 WLAN 인터페이스는 서로 다른 칩들 혹은 동일한 칩에서 구현될 수 있다.
도 13에 도시되어 있는 바와 같이, 상기 디코딩 디바이스 902는 상기에서 설명한 바와 같이 임베딩된 미디어 스트림들 950을 디코딩하기 위해 디자인된다.상기 디코딩 디바이스 902는 중앙 서버와 쌍방향 게임 세션과 같은 미디어 세션의 참가자로부터의 스트림인 상기 임베딩된 미디어 파일 950을 수신하고, 상기 수신한 임베딩된 미디어 파일 950을 상기에서 설명한 바와 같이 디코딩하는 디코딩 모듈 951을 포함한다.
추가적으로, 상기 디코딩 모듈 951은 재생 모듈 952와 프로세싱 모듈 953에 연결된다. 상기 디코딩 모듈 951은 상기에서 설명한 바와 같이 상기 임베딩된 미디어 파일에 임베딩된 세션 통신 메시지들을 추출하고, 상기 추출한 데이터를 상기 비미디어 프로세싱 모듈 953으로 포워딩한다. 여기서, 상기 비미디어 프로세싱 모듈 953은 상기 추출한 데이터를 프로세싱한다. 일 예로, 세션 통신 메시지는 게임에서의 가상 객체의 이동과 송신 사용자의 상태를 나타내는 이벤트 메시지들을 포함할 수 있다.
상기 디코딩 모듈 951은 상기 임베딩된 미디어 파일을 상기 재생 모듈 952로 포워딩한다. 추가적으로, 상기 재생 모듈 952는 상기 임베딩된 미디어 파일을 재생 하기 위한 미디어 재생기를 포함한다.
본 특허의 존속 기간 중에 많은 관련 장치 및 시스템이 개발될 것으로 예상되며, 본 명세서에 사용된 용어들의 범위, 특히 미디어 파일, 통신 세션, 비미디어 데이터, 게임 세션이라는 용어들의 범위는 모든 그러한 새로운 기술을 선험적으로 포함하기 위한 것이다. 명확을 기하기 위해 개별의 실시 형태의 문맥에서 서술한 본 발명의 소정 특징들을 단일 실시 형태에서 조합하여 제공할 수 있음을 이해해야 한다. 역으로, 간결을 기하기 위해 단일 실시 형태의 문맥에서 서술한 본 발명의 여러 특징들을 별도로 제공하거나 임의의 적절한 하위조합으로 제공할 수 있다.
본 발명은 첨부한 도면을 참조하여 그 바람직한 실시예와 연관되어 충분히 설명되었지만, 다양한 변경 및 변형이 가능하며 당업자에게는 명확히 이해될 수 있음에 유의한다. 이러한 변경 및 변형은 본 발명의 특허청구범위를 벗어나지 않는 한 이에 의해 정의된 본 발명의 범위 내에 포함되는 것으로 간주하여야 한다. 본 발명의 상세한 설명에서 언급되고 있는 모든 공개 문서들, 특허들, 특허 출원서들의 내용은 상기 모든 공개 문서들, 특허들, 특허 출원서들 각각에서 구체적으로 기재하고 있는 내용들과 동일한 내용이며, 본 발명의 상세한 설명에서 언급되고 있는 모든 공개 문서들, 특허들, 특허 출원서들의 내용은 본 발명의 종래 기술로서 간주되어서는 안됨은 물론이다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술 하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 실시예에 따른 쌍방향 세션의 통신 메시지 혹은 자원 파일과 같은 비미디어 데이터를 가지는 미디어 파일을 향상시키는 방법을 도시한 순서도;
도 2는 본 발명의 실시예에 따른 임베딩된 미디어 파일을 디코딩하는 방법을 도시한 순서도;
도 3은 본 발명의 실시예에 따른 MP3 파일의 세그먼트를 개략적으로 도시한 도면;
도 4는 본 발명의 실시예에 따른 비미디어 데이터가 임베딩된 MP3 파일의 세그먼트를 개략적으로 도시한 도면;
도 5는 본 발명의 실시예에 따른 세션 통신 메시지와 같은 비미디어 데이터가 MP3 파일에 임베딩되기 전에 상기 비미디어 데이터를 인코딩하는 방법을 개략적으로 도시한 도면;
도 6은 동기워드를 가지는 MP 3 프레임의 구조를 개략적으로 도시한 도면;
도 7은 본 발명의 실시예에 따른 도 6에 도시한 프레임과 삽입 값을 포함하는 인코딩된 타겟 버퍼를 도시한 도면;
도 8-9는 삽입 값과 동일한 값을 가지는 비트 스트링을 포함하는 비미디어 데이터의 세그먼트와 상기 비트 스트링과 그 중복 버전을 포함하는 비미디어 데이터의 세그먼트를 도시한 도면;
도 10은 본 발명의 실시예에 따른 비미디어 데이터 프레임을 개략적으로 도 시한 도면;
도 11은 본 발명의 실시예에 따른 MP3 파일에 삽입된 비미디어 데이터를 디코딩하는 디코딩 프로세스를 도시한 순서도;
도12-13은 본 발명의 실시예에 따른 인코딩 디바이스 900과 디코딩 디바이스 901을 개략적으로 도시한 도면.

Claims (25)

  1. 미디어 파일을 향상시키기 위한 방법에 있어서,
    다수의 단말기간 통신 메시지의 실시간 교환을 위해 미디어 파일을 인코딩하는 과정과,
    상기 실시간 교환의 비미디어 통신 메시지를 상기 미디어 파일에 임베딩하는 과정과,
    상기 임베딩된 미디어 파일을 상기 다수의 단말기 중 적어도 하나로 포워딩하는 과정을 포함하는 미디어 파일을 향상시키기 위한 방법.
  2. 제1항에 있어서,
    상기 비미디어 통신 메시지는 대부분 인코딩되지 않음을 특징으로 하는 미디어 파일을 향상시키기 위한 방법.
  3. 제1항에 있어서,
    상기 포워딩 과정은 상기 임베딩된 미디어 파일을 상기 실시간 교환의 참가자에게 스트리밍하는 과정을 포함하는 미디어 파일을 향상시키기 위한 방법.
  4. 제1항에 있어서,
    상기 미디어 파일이 미디어 신호들을 포함할 경우, 상기 인코딩 전에 상기 미디어 신호들을 실시간으로 기록하는 과정을 더 포함하는 미디어 파일을 향상시키기 위한 방법.
  5. 제1항에 있어서,
    상기 각 단말기는 사용자 단말기와, 중앙 서버와, 인터페이스 노드와, 셀룰라 전화기를 포함하는 그룹의 멤버임을 특징으로 하는 미디어 파일을 향상시키기 위한 방법.
  6. 제1항에 있어서,
    상기 실시간 교환은 게임 세션과, 상업 세션과, 회의 전화와, 비디오 회의 전화를 포함하는 그룹의 멤버임을 특징으로 하는 미디어 파일을 향상시키기 위한 방법.
  7. 제1항에 있어서,
    상기 실시간 미디어 파일이 각각 프레임 식별자를 포함하는 다수의 프레임들을 포함할 경우, 상기 프레임 식별자 값과 실질적으로 유사한 값을 가지는 세그먼트들을 감소시키기 위해 상기 비미디어 통신 메시지를 인코딩하는 과정을 더 포함하는 미디어 파일을 향상시키기 위한 방법.
  8. 임베딩된 미디어 파일을 디코딩하는 방법에 있어서,
    비미디어 데이터가 임베딩된 미디어 파일을 제공하는 과정과,
    상기 미디어 파일로부터 상기 비미디어 데이터를 추출하는 과정과,
    상기 비미디어 데이터를 무시하는 동안 상기 임베딩된 미디어 파일을 디코딩하는 과정과,
    다수의 단말기간의 실시간 통신 메시지 교환을 포함하는 쌍방향 세션에 상기 비미디어 데이터를 사용하는 과정을 포함하며,
    상기 비미디어 데이터의 적어도 50%는 인코딩되지 않음을 특징으로 하는 임베딩된 미디어 파일을 디코딩하는 방법.
  9. 제8항에 있어서,
    상기 비미디어 데이터는 상기 비미디어 데이터의 생성자와 상기 비미디어 데이터의 플레이어간에 유지되고 있는 데이터 세션의 통신 메시지를 포함함을 특징으 로 하는 임베딩된 미디어 파일을 디코딩하는 방법.
  10. 제8항에 있어서,
    상기 디코딩 과정과 사용 과정은 함께 수행됨을 특징으로 하는 임베딩된 미디어 파일을 디코딩하는 방법.
  11. 제8항에 있어서,
    상기 임베딩된 미디어 파일이 각각 미디어 프레임 태그를 포함하는 다수의 미디어 프레임과, 각각 데이터 세션 태그를 포함하는 다수의 데이터 세션 프레임을 포함할 경우,
    상기 디코딩 과정은 상기 다수의 데이터 세션 프레임을 무시하는 동안 상기 다수의 미디어 프레임에 저장되어 있는 정보를 재생하는 과정을 포함하는 임베딩된 미디어 파일을 디코딩하는 방법.
  12. 프레임 기반 파일에 비미디어 데이터를 임베딩하는 방법에 있어서,
    비미디어 데이터와 각각이 프레임 식별자를 포함하는 다수의 프레임들을 포함하는 프레임 기반 파일을 제공하는 과정과,
    상기 프레임 식별자와 동일한 값을 가지는 상기 비미디어 데이터의 세그먼트들을 변경시키는 과정과,
    상기 비미디어 데이터 유닛을 상기 프레임 기반 파일에 임베딩하는 과정과,
    상기 임베딩된 미디어 파일을 출력하는 과정을 포함하는 프레임 기반 파일에 비미디어 데이터를 임베딩하는 방법.
  13. 제12항에 있어서,
    상기 변경 과정은 상기 비미디어 데이터의 대부분을 인코딩하는 동안 수행됨을 특징으로 하는 프레임 기반 파일에 비미디어 데이터를 임베딩하는 방법.
  14. 제12항에 있어서,
    상기 변경 과정은 상기 세그먼트에 더미 값을 가산시키는 과정을 포함하는 프레임 기반 파일에 비미디어 데이터를 임베딩하는 방법.
  15. 제12항에 있어서,
    상기 프레임 기반 파일은 엠펙-1 오디오 계층-3(motion picture experts group (MPEG)-1 audio layer-3 (MP3)) 파일이며, 상기 프레임들은 MP3 프레임임을 특징으로 하는 프레임 기반 파일에 비미디어 데이터를 임베딩하는 방법.
  16. 다수의 참가자간의 쌍방향 세션에 참가하는 이동 통신 단말기에 있어서,
    다수의 참가자간 통신 메시지들의 실시간 교환을 위한 미디어 파일을 인코딩하기 위해 구성된 인코딩 모듈과,
    상기 쌍방향 세션의 통신 메시지를 적어도 50%가 인코딩되지 않은 상기 미디어 파일에 임베딩시키기 위해 구현된 임베딩 모듈과,
    상기 실시간 통신 메시지 교환에서 상기 임베딩된 미디어 파일을 사용하기 위해 구성된 쌍방향 데이터 세션 모듈을 포함하는 다수의 참가자들간의 쌍방향 세션에 참가하는 이동 통신 단말기.
  17. 제16항에 있어서,
    상기 실시간 미디어 파일이 각각 프레임 식별자를 포함하는 다수의 프레임들을 포함할 경우, 상기 프레임 식별자 값과 실질적으로 유사한 값을 가지는 세그먼트들을 감소시키기 위해 상기 비미디어 통신 메시지를 인코딩하기 위해 구성된 인코딩 디바이스를 더 포함하는 다수의 참가자들간의 쌍방향 세션에 참가하는 이동 통신 단말기.
  18. 제16항에 있어서,
    상기 통신 메시지는 게임 세션과, 상업 세션과, 회의 전화와, 비디오 회의 전화를 포함하는 그룹의 멤버임을 특징으로 하는 다수의 참가자들간의 쌍방향 세션에 참가하는 이동 통신 단말기.
  19. 제16항에 있어서,
    상기 이동 통신 단말기가 셀룰라 전화기일 경우, 상기 쌍방향 세션은 셀룰라 네트워크를 통해 수행됨을 특징으로 하는 다수의 참가자들간의 쌍방향 세션에 참가하는 이동 통신 단말기.
  20. 통신 네트워크를 통해서 다수의 참가자들간 실시간 통신 메시지 교환을 성립시키는 시스템에 있어서,
    미디어 파일을 상기 실시간 교환의 비미디어 통신 메시지와 임베딩하고, 상기 임베딩된 미디어 파일을 무선 네트워크를 통해 무선 송신하기 위해 구성된 송신 통신 단말기와,
    상기 무선 네트워크를 통해 상기 임베딩된 미디어 파일을 수신하고, 상기 미디어 파일을 재상하고, 상기 비미디어 통신 메시지를 함께 처리하기 위해 구성된 수신 통신 단말기를 포함하는 통신 네트워크를 통해서 다수의 참가자들간 실시간 통신 메시지 교환을 성립시키는 시스템.
  21. 제20항에 있어서,
    상기 수신 통신 단말기는 상기 임베딩된 미디어 파일을 재생하기 위한 디코딩 유닛을 포함하며,
    상기 송신 통신 단말기는 상기 디코딩 유닛로부터의 상기 비미디어 통신 메시지를 감추기 위해 구성됨을 특징으로 하는 통신 네트워크를 통해서 다수의 참가자들간 실시간 통신 메시지 교환을 성립시키는 시스템.
  22. 제21항에 있어서,
    상기 실시간 미디어 파일이 각각 프레임 식별자를 포함하는 다수의 프레임들을 포함할 경우,
    상기 송신 통신 단말기는 상기 임베딩 전에 상기 프레임 식별자 값과 실질적으로 유사한 값을 가지는 세그먼트들을 감소시킴으로써 상기 비디어 통신 메시지를 감추기 위해 구성됨을 특징으로 하는 통신 네트워크를 통해서 다수의 참가자들간 실시간 통신 메시지 교환을 성립시키는 시스템.
  23. 다수의 참가자간의 실시간 통신 메시지 교환에서 쌍방향 세션에 참가하기 위한 이동 통신 단말기에 있어서,
    상기 실시간 교환되는 메시지를 임베딩한 미디어 파일을 수신하고, 상기 미디어를 디코딩하기 위해 구성된 디코딩 모듈과,
    상기 통신 메시지를 추출하기 위해 구성된 추출 모듈과,
    상기 쌍방향 세션 동안 상기 통신 메시지를 사용하기 위해 구성된 쌍방향 데이터 세션 모듈을 포함하는 다수의 참가자간의 실시간 통신 메시지 교환에서 쌍방향 세션에 참가하기 위한 이동 통신 단말기.
  24. 제23항에 있어서,
    상기 디코딩 모듈은 상기 임베딩된 통신 메시지를 무시하는 동안 상기 디코딩을 수행하기 위해 구성됨을 특징으로 하는 다수의 참가자간의 실시간 통신 메시지 교환에서 쌍방향 세션에 참가하기 위한 이동 통신 단말기.
  25. 게임을 실행하기 위한 방법에 있어서,
    게임의 자원 파일이 임베딩된 미디어 파일을 제공하는 과정과,
    상기 자원 파일을 실행하고 상기 미디어 파일을 함께 디코딩하는 과정을 포함하는 게임을 실행하기 위한 방법.
KR1020080116221A 2007-11-23 2008-11-21 미디어 스트림에 데이터를 임베딩하는 방법 및 장치 KR101550462B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/984,875 US8223851B2 (en) 2007-11-23 2007-11-23 Method and an apparatus for embedding data in a media stream
US11/984,875 2007-11-23

Publications (2)

Publication Number Publication Date
KR20090053723A true KR20090053723A (ko) 2009-05-27
KR101550462B1 KR101550462B1 (ko) 2015-09-04

Family

ID=40669681

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080116221A KR101550462B1 (ko) 2007-11-23 2008-11-21 미디어 스트림에 데이터를 임베딩하는 방법 및 장치

Country Status (2)

Country Link
US (1) US8223851B2 (ko)
KR (1) KR101550462B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327939A1 (en) * 2008-05-05 2009-12-31 Verizon Data Services Llc Systems and methods for facilitating access to content instances using graphical object representation
CA2723675C (en) * 2008-05-07 2015-12-22 Chalk Media Service Corp. A system and method for embedding interactive components within mobile content
EP2274942B1 (en) * 2008-05-07 2014-10-01 BlackBerry Limited Method for enabling bandwidth management for mobile content delivery
TWI384459B (zh) * 2009-07-22 2013-02-01 Mstar Semiconductor Inc 音框檔頭之自動偵測方法
US20110246618A1 (en) 2010-04-02 2011-10-06 Apple Inc. Caching multiple views corresponding to multiple aspect ratios
US9922354B2 (en) 2010-04-02 2018-03-20 Apple Inc. In application purchasing
US9110749B2 (en) * 2010-06-01 2015-08-18 Apple Inc. Digital content bundle
ES2568640T3 (es) 2012-02-23 2016-05-03 Dolby International Ab Procedimientos y sistemas para recuperar de manera eficiente contenido de audio de alta frecuencia
US10666701B2 (en) * 2012-11-16 2020-05-26 Citrix Systems, Inc. Adaptation of content delivery network to incremental delivery of large, frequently updated data sets
US9104241B2 (en) * 2013-07-17 2015-08-11 Tangome, Inc. Performing multiple functions by a mobile device during a video conference
JP7026056B2 (ja) * 2016-06-28 2022-02-25 インテル・コーポレーション ジェスチャ埋め込みビデオ
EP3811700A1 (en) * 2018-06-19 2021-04-28 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for controlling a robot device over a wireless network

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5854898A (en) * 1995-02-24 1998-12-29 Apple Computer, Inc. System for automatically adding additional data stream to existing media connection between two end points upon exchange of notifying and confirmation messages therebetween
US7301944B1 (en) * 1997-10-24 2007-11-27 Tranz-Send Broadcasting Network, Inc. Media file distribution with adaptive transmission protocols
US6356921B1 (en) * 1998-06-20 2002-03-12 International Business Machines Corporation Framework for progressive hierarchial and adaptive delivery rich media presentations and associated meta data
US8874244B2 (en) * 1999-05-19 2014-10-28 Digimarc Corporation Methods and systems employing digital content
US7260785B2 (en) * 2001-01-29 2007-08-21 International Business Machines Corporation Method and system for object retransmission without a continuous network connection in a digital media distribution system
GB2386782B (en) * 2002-03-22 2005-09-21 Sony Uk Ltd Material storage
US7768234B2 (en) * 2004-02-28 2010-08-03 Janik Craig M System and method for automatically synchronizing and acquiring content for battery powered devices
CA2554987C (en) * 2004-02-10 2014-05-13 Thomson Licensing Storage of advanced video coding (avc) parameter sets in avc file format
US8677504B2 (en) * 2005-07-14 2014-03-18 Qualcomm Incorporated Method and apparatus for encrypting/decrypting multimedia content to allow random access
KR100713511B1 (ko) 2005-10-07 2007-04-30 삼성전자주식회사 이동 통신 단말기의 화상 통화 서비스 수행 방법

Also Published As

Publication number Publication date
US8223851B2 (en) 2012-07-17
KR101550462B1 (ko) 2015-09-04
US20090135919A1 (en) 2009-05-28

Similar Documents

Publication Publication Date Title
KR101550462B1 (ko) 미디어 스트림에 데이터를 임베딩하는 방법 및 장치
JP5726874B2 (ja) オブジェクト指向オーディオストリーミングシステム
US9736552B2 (en) Authoring system for IPTV network
CN110995946B (zh) 混音方法、装置、设备、系统及可读存储介质
JP2008539451A (ja) 既存の音声信号符号化フォーマットを用いてモーション信号に音声信号を与える方法及び装置
JP2007523524A (ja) マルチメディアデータを記録した情報保存媒体、その再生方法及び再生装置
KR20040005919A (ko) 프리젠테이션의 재생 속도 실시간 제어
EP1624448A2 (en) Packet multiplexing multi-channel audio
WO2018152679A1 (zh) 音频文件的传输、接收方法及装置、设备及其系统
CN102819851B (zh) 一种有声图片的计算机实现方法
WO2012016406A1 (zh) 一种在录像过程中加载背景音的方法及移动终端
JP2022083444A (ja) ユーザカスタム型臨場感を実現するためのオーディオコンテンツを送信するコンピュータシステムおよびその方法
CN113301359A (zh) 音视频处理方法、装置及电子设备
WO2017107430A1 (zh) 终端设备的控制方法、装置、设备及非易失性计算机存储介质
CN112562638A (zh) 语音预览的方法、装置及电子设备
CN101208872A (zh) 用于对音频-视频编解码器进行抽象化的系统
CN114363648A (zh) 直播系统混流过程中音视频对齐的方法、设备及存储介质
CN101527153A (zh) 使异步的传递文本和音视频数据在移动终端同步显示的方法
WO2019216001A1 (ja) 受信装置、送信装置、受信方法、送信方法、およびプログラム
CN110392276B (zh) 一种基于rtmp协议同步传输midi的直播录播方法
KR101238423B1 (ko) 콘텐츠 제작 방법 및 그 시스템
Calvo‐Flores et al. Integrating multimedia streaming from heterogeneous sources to JavaME mobile devices
WO2007147334A1 (fr) Procédé de conversion d'une information textuelle en un flux de média ou de multimédia destinée à un terminal
CN117294805A (zh) 一种视频会议云录制的方法、装置、电子设备和存储介质
CN111866582A (zh) 一种用户匹配对手戏的演绎秀及演绎秀合成方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
FPAY Annual fee payment

Payment date: 20190730

Year of fee payment: 5