WO2016006915A1 - Method and apparatus for sending multimedia data - Google Patents

Method and apparatus for sending multimedia data Download PDF

Info

Publication number
WO2016006915A1
WO2016006915A1 PCT/KR2015/007014 KR2015007014W WO2016006915A1 WO 2016006915 A1 WO2016006915 A1 WO 2016006915A1 KR 2015007014 W KR2015007014 W KR 2015007014W WO 2016006915 A1 WO2016006915 A1 WO 2016006915A1
Authority
WO
WIPO (PCT)
Prior art keywords
audio frame
data
frame
audio
previously stored
Prior art date
Application number
PCT/KR2015/007014
Other languages
French (fr)
Korean (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
Priority claimed from KR1020150081982A external-priority patent/KR102389312B1/en
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to CN201580048273.6A priority Critical patent/CN106688211B/en
Priority to EP15819284.9A priority patent/EP3169026B1/en
Priority to US15/324,922 priority patent/US10170127B2/en
Publication of WO2016006915A1 publication Critical patent/WO2016006915A1/en

Links

Images

Definitions

  • the present disclosure relates to a method and apparatus for transmitting multimedia data using wireless communication and a data network.
  • Methods for solving the problems of data transmission as described above in the wireless communication and network are as follows. For example, in order to reduce the interference between two networks in multiple wireless environments, it is possible to monitor the network status by using various parameters that can recognize the transmission status between the networks and, accordingly, to reduce the interference between the two networks.
  • RSSI Receiveiver Signal Strength Indication
  • system noise level information power spectrum of the transmitted signal to monitor network conditions. According to these results, interference between different data networks is minimized by adjusting transmitter power in the RF stage or changing a channel map used for data transmission.
  • Another method is to adjust priority levels or adjust antenna isolation between a plurality of wireless networks, or to configure an antenna system to coexist between networks using an antenna switch when the same antenna is shared in a plurality of networks. There is this.
  • the packet rate information is used to adjust the data rate by using packet-loss information or the amount of multimedia data transmitted according to the channel condition and the bandwidth by using a scalable codec. Use the method.
  • the error concealment method commonly used when voice or audio information is transmitted is a muting method that reduces the effect of the error on the output signal by reducing the volume of the sound in the frame where the error occurs.
  • Repetition method which restores the signal of the frame that caused the error by repeatedly playing the previous good frame of the previous frame, and interpolates the parameters of the previous frame and the next good frame. Interpolation for predicting parameters.
  • DTX Discontinuous Transmission
  • DRX discontinuous Reception
  • the conventional method uses the packet loss information to estimate the available bandwidth and adjust the bit rate accordingly.
  • a method of adjusting the bit rate with one parameter may not accurately reflect the situation due to the interference of the network.
  • a problem to be solved is to analyze a wireless network environment such as a plurality of network status parameters for detecting network interference in a wireless network environment, and a bandwidth change according to a plurality of wireless peripheral devices using the same network.
  • the present invention provides a method for efficiently adjusting the bit rate of multimedia data such as audio and video and constructing a packet using the same. That is, data is encoded at a lossless or high bit rate in a strong electric field in a good network environment, and data is transmitted at low bit rates in a weak electric field in a bad network environment.
  • the problem to be solved in some embodiments is to provide a method of effectively adjusting the delay according to the media type (audio, video) so as to minimize the delay in case of synchronization-critical data and to be robust to errors otherwise.
  • a problem to be solved in some embodiments is to provide a frame error concealment method and apparatus that does not require additional delay with low complexity by using an error concealment method using a previous normal frame when an error frame occurs. To this end, it is possible to minimize sound quality degradation by minimizing discontinuity and phase mismatch between frames occurring during error concealment.
  • some embodiments may provide a method and apparatus capable of reducing power consumption of a device in transmitting audio data between devices connected via a wireless communication network.
  • some embodiments provide a method and apparatus by which devices transmitting and receiving audio data can manage and synchronize memory storing audio frames.
  • some embodiments provide a method and apparatus for selectively transmitting audio frames and identification values of audio frames.
  • FIG. 1 is a schematic block diagram of an apparatus for controlling a bit rate and latency and configuring a packet to be transmitted according to a wireless network situation in some embodiments.
  • FIG. 2 is a flowchart of a method of determining a packet size, a frame number, and a frame size according to a network channel according to some embodiments.
  • FIG. 3 is a diagram illustrating an example of a method of determining a packet size, a frame number, and a frame size according to a network channel, according to some embodiments.
  • FIG. 4 is a diagram illustrating an embodiment of a method of adjusting a predetermined frame size and the number of frames to be optimized for a packet size.
  • FIG. 5 is a flowchart of a method of determining a lossy or lossless mode in accordance with some embodiments.
  • FIG. 6 is a diagram illustrating a relationship between goodness of a plurality of network state parameters and a set bit rate.
  • FIG. 7 is a block diagram illustrating in detail the coding mode / bit rate determination module 140, the media encoding module 160, and the media packet generation module 170 in FIG. 1.
  • 8A is a diagram illustrating an embodiment of generating a packet according to a predefined number of frames and a frame size according to a channel mode and a bit rate.
  • 8B is a diagram illustrating an embodiment of configuring a bitstream when input data is audio data and a coding mode is lossless coding.
  • FIG 9 illustrates an input buffer control method of the receiving end 950 according to a media type.
  • FIG. 10 is a schematic block diagram of a data reproducing apparatus 1000 for processing and decoding a packet input at a receiving end of some embodiments.
  • FIG. 11 is a diagram illustrating a problem of phase mismatch or discontinuity that occurs during simple data repetition.
  • FIG. 12 is a diagram illustrating a process of applying a superposition and addition method in a first error frame as an embodiment of a method of generating repetitive data used for error concealment.
  • 13A is a diagram illustrating a process of applying an overlapping and adding method at one end of the repetitive data.
  • 13B is a diagram illustrating a process of applying an overlapping and adding method at the other end of the repetitive data.
  • FIG. 14 is a diagram illustrating an error concealment method using a modified iteration buffer according to some embodiments.
  • FIG. 15 is a diagram illustrating an example in which the data transmission apparatus 100 provides audio data to the data reproduction apparatus 1000 according to some embodiments.
  • 16 is a flowchart of a method of providing, by the data transmission device 100, the audio data to the data reproduction device 1000 according to some embodiments.
  • 17 is a flowchart illustrating a method of compressing a current audio frame and transmitting the current audio frame to the data reproducing apparatus 1000 according to some embodiments.
  • FIG. 18 is a flowchart of a method of managing an audio frame by the data transmission apparatus 100 according to some embodiments.
  • 19 is a flowchart of a method of storing and managing an audio frame received from the data transmission apparatus 100 by the data reproducing apparatus 1000, according to some embodiments.
  • 20 and 21 are block diagrams of a data transmission apparatus 100 according to some embodiments.
  • a memory for storing at least one previous audio frame; Splitting an audio signal input to the first device into a plurality of audio frames, comparing a current audio frame among the plurality of audio frames with the at least one previous audio frame previously stored in a memory of the first device, A controller for selecting one of the previously stored previous audio frames based on a similarity between the stored previous audio frame and the current audio frame; And a communication unit which transmits an identification value of the selected previous audio frame to the second device.
  • the first device may provide an audio signal to the second device.
  • the controller may select one of the previously stored previous audio frames according to the similarity between the previously stored previous audio frame and the current audio frame being greater than a preset threshold.
  • the controller may be further configured to compress the current audio frame as the similarity between the previously stored previous audio frame and the current audio frame is smaller than a preset threshold, and the communication unit may further include compressing the compressed current audio frame.
  • the controller may be configured to delete at least one of the previously stored previous audio frames and to delete at least one of the previously stored previous audio frames as the compressed current audio frame is successfully transmitted to the second device.
  • the current audio frame may be stored in the memory.
  • the controller may delete the previous audio frame stored first in the memory among the previously stored previous audio frames.
  • the controller may delete one of the previously stored previous audio frames based on the number of times the identification value of the previously stored previous audio frame is transmitted to the second device.
  • the communication unit may retransmit the identification value of the selected previous audio frame to the second device within a preset transmission time limit as the transmission of the identification value of the selected previous audio frame fails.
  • the controller may determine a method of transmitting a next audio frame as transmission of the identification value of the selected previous audio frame fails within the preset transmission time limit.
  • a second aspect of the present disclosure the step of dividing the audio signal input to the first device into a plurality of audio frames; Comparing a current audio frame among the plurality of audio frames with at least one previous audio frame previously stored in a memory of the first device; Selecting one of the previously stored previous audio frames based on a similarity of the current audio frame among the previously stored previous audio frames; And transmitting an identification value of the selected previous audio frame to the second device.
  • the first device may provide a method for providing an audio signal to a second device.
  • the selected previous audio frame may be stored in the memory and the memory of the second device, respectively, as successfully transmitted to the second device.
  • the selecting of one of the previously stored previous audio frames may select one of the previously stored previous audio frames according to a similarity between the previously stored previous audio frame and the current audio frame being greater than a preset threshold. .
  • the method may further include: compressing the current audio frame according to a similarity between the previously stored previous audio frame and the current audio frame being less than a preset threshold; And transmitting the compressed current audio frame to the second device.
  • the method may further include deleting at least one of the previously stored previous audio frames as the compressed current audio frame is successfully transmitted to the second device; And storing the current audio frame in the memory as at least one of the previously stored previous audio frames is deleted.
  • the previous audio frame previously stored in the memory may be deleted.
  • the deleting of one of the previously stored previous audio frames may include deleting one of the previously stored previous audio frames based on the number of times the identification value of the previously stored previous audio frame is transmitted to the second device. .
  • the method may further include retransmitting the identification value of the selected previous audio frame to the second device within a preset transmission time limit as the transmission of the identification value of the selected previous audio frame fails. have.
  • the method may further include determining a transmission method of a next audio frame as transmission of the identification value of the selected previous audio frame fails within the preset transmission time limit.
  • the communication unit for receiving data related to the audio signal input to the other device from the other device; If the type of the received data is determined, and the type of the determined data is an identification value of a pre-stored audio frame, the audio frame corresponding to the identification value is extracted from the memory of the device, and the type of the determined data is the other.
  • a control unit that extends the bitstream to the current audio frame if it is a bitstream of the current audio frame divided from the audio signal input to the device; And an output unit configured to output an audio signal of the extracted audio frame or an audio signal of the extended current audio frame.
  • a fourth aspect of the present disclosure may include receiving data related to an audio signal input to the other device from the other device; Determining a type of the received data; Extracting an audio frame corresponding to the identification value from a memory of the device when the type of the determined data is an identification value of a pre-stored audio frame; Extending the bitstream to the current audio frame if the type of the determined data is a bitstream of a current audio frame divided from an audio signal input to the other device; And outputting an audio signal of the extracted audio frame or an audio signal of the extended current audio frame.
  • the device may include a method of receiving an audio signal from another device.
  • the fifth aspect of the present disclosure can provide a computer readable recording medium having recorded thereon a program for executing the method of the second aspect on a computer.
  • part refers to a hardware component, such as software, FPGA or ASIC, and “part” plays certain roles. However, “part” is not meant to be limited to software or hardware.
  • the “unit” may be configured to be in an addressable storage medium and may be configured to play one or more processors.
  • a “part” refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, Subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables.
  • the functionality provided within the components and “parts” may be combined into a smaller number of components and “parts” or further separated into additional components and “parts”.
  • FIG. 1 is a schematic block diagram of an apparatus for controlling a bit rate and latency and configuring a packet to be transmitted according to a wireless network situation in some embodiments.
  • the block diagram of FIG. 1 may be used to describe not only a data transmission apparatus but also a data transmission method.
  • the data transmission apparatus 100 includes a channel mode initialization module 110, a wireless network state analysis module 120, a media type analysis module 130, a coding mode / bit rate determination module 140, and packetization.
  • Condition control module 150 media encoding module 160, and media packet generation module 170.
  • the 'module' may be used as a 'part'.
  • the channel mode initialization module 110 may be used as the channel mode initialization unit 110.
  • the media encoding module 160 may be used as the media encoder 160.
  • the media packet generation module 170 may be used as the media packet generator 170.
  • the module may be used as a step.
  • the channel mode initialization module 110 may be used as the channel mode initialization step 110. The same applies to identification numbers 120 to 170.
  • the initialize channel mode module 110 sets the channel mode of the network, determines the packet size according to the set channel mode, and sets the bit rate of the encoded data according to the determined size and the number of encoded data frames to be put in the packet. Set it.
  • Bluetooth supports various modes according to an error processing level and a packet configuration. Among them, EDR (Enhanced Data Rate) mode enables up to 2.1Mbps data rate in asymmetric mode, and BR (Basic rate) mode enables up to 723.2kbps transmission in asymmetric mode. Therefore, the packet size is determined according to the transmission speed supported by the selected channel. When the packet size is determined, the number of frames that can be included in the packet and the size of each frame are determined for each bit rate supported by the media codec.
  • Equation 1 is an example of a method of determining the number of frames to be included in one packet according to the determined packet size.
  • the frame size is determined according to the bit rate supported by the media codec.
  • the round function is a rounding function. For example, the decimal point may be rounded down so that the number of frames is a natural number.
  • FIG. 2 is a flowchart of a method of determining a packet size, a frame number, and a frame size according to a network channel according to some embodiments.
  • step 210 the channel mode of the network is selected.
  • the packet size is determined according to the bandwidth supported by the selected channel mode.
  • a frame for each bit rate to be included in one packet is configured according to the packet size determined in step 220. Specifically, the number of data frames and the size of the frames to be put in the packet are set.
  • step 240 the number of frames and the frame size are readjusted to fit the packet size. A detailed description related to the readjustment of the number of frames and the frame size will be described later with reference to FIG. 4.
  • step 250 the determined frame number and frame size are stored in a bit rate table.
  • the method of FIG. 2 described above may be performed by a data transmission apparatus, a processor, or the like, and may be performed by the channel mode initialization module 110, for example.
  • FIG. 3 is a diagram illustrating an example of a method of determining a packet size, a frame number, and a frame size according to a network channel, according to some embodiments.
  • the packet size is 512 bytes, and the frame size and the number are respectively determined when the bit rate supported by the media codec is 180/229/320 / 352.8 kbps.
  • the amount of data determined according to each bit rate may be larger or smaller than the size of the packet size determined according to the network channel mode.
  • FIG. 4 is a diagram illustrating an embodiment of a method of adjusting a predetermined frame size and the number of frames to be optimized for a packet size.
  • FIG. 4 may be an embodiment to specifically describe the processing performed in step 240 of FIG. 2 described above.
  • the number of encoded data frames, the frame size, and the bit rate are adjusted to fit the packet size. If the frame size is L, the number of frames in one packet is K, and the size of the remaining data area is R, the adjusted length L 'of the frame can be L + R / K. In addition to adjusting the frame size, the number of frames and the bit rate may be adjusted.
  • the excess frame (frame 5 in FIG. 4) is excluded or the encoded frame is split and transmitted in the next packet. Done.
  • the number of frames, the size of the frame, and the bit rate are adjusted so that the encoded frame is not fragmented. If the frame size is L, the number of frames in one packet is K, and the size of the excess data area is R, the adjusted length L 'of the frame can be L-R / K. In addition to adjusting the frame size, the number of frames and the bit rate may be adjusted.
  • the number of frames and the bit rate information determined as described above are transmitted to the coding mode / bit-rate decision module 140 as shown in FIG. 1.
  • a channel mode of a network may be set, a packet size may be determined according to the set channel mode, and a lossy or lossless coding mode of multimedia data may be determined according to the determined size.
  • Coding may include compression.
  • lossy coding may include lossy compression.
  • Lossless coding may also include lossless compression. If the bandwidth of the selected network channel is greater than or equal to a predetermined width, the channel mode initialization module 110 adds the frame number and frame size according to the lossless coding mode to the bit rate table.
  • FIG. 5 is a flowchart of a method of determining a lossy or lossless mode in accordance with some embodiments.
  • step 510 the channel mode of the network is selected.
  • the packet size is determined according to the bandwidth supported by the selected channel mode.
  • step 530 it is determined whether the packet size determined in step 520 is greater than a data threshold.
  • the data threshold is the minimum amount of data needed to apply a lossless codec.
  • step 532 a frame for each bit rate to be included in one packet is configured according to the packet size. Specifically, the number of data frames and the size of the frame to be put in the packet are set.
  • step 534 the number of frames and the frame size are readjusted to fit the packet size.
  • the foregoing description is provided with reference to FIG. 4.
  • a lossless codec may be applied.
  • a lossless coding mode is added to the output bit rate information.
  • step 540 information for determining a coding mode and a bit rate is generated.
  • bit rate information is stored in the bit rate table.
  • a table for storing bit rate information includes respective bit rates 1, 2,... According to the N or the lossless coding mode, information about the frame size and the number of frames is stored.
  • the aforementioned method of FIG. 5 may be performed by a data transmission apparatus, a processor, or the like, and may be performed by, for example, the channel mode initialization module 110 and the coding mode / bit rate determination module 140 of FIG. 1.
  • the generated table of coding modes, frame sizes and number of frames is used to determine the coding method of the media encoder in the coding mode / bit rate determination module 140.
  • the analysis wireless network status module 120 of FIG. 1 analyzes information according to a wireless network environment.
  • a representative example of information used includes a receiver signal strength index (RSSI), a link quality indicator (LQI), and adaptive frequency hopping (AFH) channel masking information.
  • RSSI indicates the strength of the received signal.
  • LQI is a parameter that indicates the quality of the connected communication state and expresses the BER (bit error rate) as an integer between 0 and 255.
  • Adaptive Frequency Hopping (AFH) is a hopping scheme used in Bluetooth and randomly hops between 79 available channels and masks unavailable channels. At this time, if the network environment is good, the number of masking channels is small. However, when the interference is severe, the number of masking channels increases.
  • the coding mode / bit-rate decision module 140 of FIG. 1 selects a bit rate of the media encoder using the network state parameter analyzed by the wireless network state analysis module 120.
  • Bit rate setting according to the network state parameter may be made, for example, in the coding mode / bit rate determination module 140 of FIG. 1.
  • the network state parameter transmitted as shown in FIG. 6 determines the bit rate in a combination of two or more.
  • the better the values of all the parameters the more the network environment is determined by the strong electric field and the higher the bit rate is selected.
  • the network environment is regarded as a weak electric field, and a low bit rate is selected.
  • RSSI the stronger the received signal, the better it can be determined.
  • LQI goodness may be determined according to a bit error rate (BER) as a parameter representing the quality of a connected communication state.
  • BER bit error rate
  • the selected bit rate information is transmitted to the media encoder module 160, and the media encoding module 160 encodes input data according to the selected bit rate.
  • the network channel environment may be identified using network state parameters, and a lossy or lossless coding mode may be selected according to the result. If the analyzed network channel environment is a strong electric field and can support lossless coding in channel mode, the coding mode / bit rate determination module 140 selects lossless coding and transfers this information to the media encoding module 160. If no lossless coding is supported, the higher the bit rate, the weaker field, and the lower bit rate are selected, according to the network state analysis results. In addition, the information on the selected bit rate information, the number of frames and the frame size determined according to the bit rate is transmitted to the control packetizing condition module 150 and used to generate a packet using the encoded frame data.
  • the media encoding module 160 encodes the input signal according to the input coding mode (lossy or lossless) and the determined bit rate, and transmits the encoded data to the media packet generator module 170 for packet generation. do.
  • FIG. 7 is a block diagram illustrating in detail the coding mode / bit rate determination module 140, the media encoding module 160, and the media packet generation module 170 in FIG. 1. 7 illustrates a method of operating the media encoding module 160 according to a coding mode and a bit rate.
  • the coding mode / bit rate determination module 140 may be divided into a bit rate determination module 142 and a coding mode determination module 144.
  • the media encoding module 160 is divided into a lossy encoder module 162 which performs conventional lossy coding and a residual encoder module 166 for lossless encoding.
  • the reason for this is to maintain compatibility with existing codecs when the encoded bitstream is decoded at the receiving end. Accordingly, the media encoding module 160 performs encoding using the existing lossy coding module 162 according to the input bit rate, and when the coding mode is lossless coding, the residual encoding module 166 receives extra data for lossless coding. Encoding through).
  • the coding mode determination module 144 determines lossless coding, for example, when the coding mode determination module 144 determines lossless coding without turning off the switch 164 and performing residual encoding, for example, the switch 164 Turn on to perform residual encoding.
  • the media packet generation module 170 generates a packet according to a predefined packet construction method using the encoded bitstream.
  • FIG. 8A is a diagram illustrating an embodiment of generating a packet according to a predefined number of frames and a frame size according to a channel mode and a bit rate. Since the size of the frame and the number of frames are predefined according to the network channel situation and the packet size, the packet size is configured to minimize the excess data space remaining or excess. In the example of FIG. 8A, when the bit rate is 1, the frame size is determined as n and the number of frames is m, and the packet data is configured to include m frames from 0 to m-1.
  • FIG. 8B is a diagram illustrating an embodiment of configuring a bitstream when input data is audio data and a coding mode is lossless coding.
  • Lossless coding should be designed considering compatibility with existing encoders. That is, lossy coding is performed on the input data using the lossy coding module 162, and extra data for lossless coding is separately encoded and added to the bitstream. In this way, even when the decoder does not support lossless coding, the lossy coded region may be decoded using only the existing decoder and the lossless coded region may be skipped.
  • Information for distinguishing a lossy coding region and a lossless coding region may be included in the bitstream. In this embodiment, the syncword values of the lossy bitstream and the lossless bitstream are set differently to distinguish the lossless coding region from the bitstream.
  • the analysis media type module 130 of FIG. 1 selects a media type (audio or video) and a degree of delay of input data at a transmitter.
  • FIG 9 illustrates an input buffer control method of the receiving end 950 according to a media type.
  • the media type may be determined by the information of the input data, the metadata, and the media player, or the user may directly select the degree of delay using a user interface (UI).
  • the selected media type is used to determine the delay of the data transmitted.
  • UI user interface
  • the receiver's input buffer is large, the delay is relatively increased. But the robustness to errors is strong. Conversely, if the input buffer is small, there is less delay, but the error is weak. Therefore, synchronization and robustness can be appropriately adjusted by adjusting the size of the input buffer of the receiver according to the input media type.
  • step 920 the media type information or delay information selected in step 910 is inserted into the packet and delivered to the receiving end 950 in a wireless network environment.
  • the receiving end 950 parses the packet data in step 960,
  • step 970 media type information or delay information is extracted from the packet
  • the buffer size is set to be large when the type of the encoded data transmitted using the extracted information is audio, and the buffer size is set to be small when the audio data including video data is included.
  • the receiver parses the packet transmitted from the transmitter and transmits the media bitstream to the decoder.
  • FIG. 10 is a schematic block diagram of a data reproducing apparatus 1000 for processing and decoding a packet input at a receiving end of some embodiments.
  • the block diagram of FIG. 10 may be used to describe not only the data reproducing apparatus 1000 but also a data reproducing method.
  • the data reproducing apparatus 1000 may include a packet parsing module 1010, a media type analysis module 1020, an input / output buffer control module 1030, a media decoding module 1040, and an error concealment module 1050. It includes.
  • the 'module' may be used as a 'part'.
  • the packet parsing module 1010 may be used as the packet parsing unit 1010.
  • the media decoding module 1040 may be used as the media decoder 1040.
  • the 'module' may be used as a 'step'.
  • the packet parsing module 1010 may be used as a packet parsing step 1010. The same applies to identification numbers 1020 to 1050.
  • the parsing packet module 1010 performs de-packetizing (reconstructing data from packets) on the input packet, and transmits the extracted bitstream to the media decoding module 1040.
  • the extracted media type information or delay information inserted in the packet is extracted and transmitted to the analysis media type module 1020.
  • the media type analysis module 1020 analyzes the input media type and delay information.
  • the input / output buffer control module 1030 adjusts the size of the input buffer according to the media type (audio or video) and delay information analyzed by the media type analysis module 1020.
  • the media decoding module 1040 decodes the media data by using the bitstream extracted by the packet parsing module 1010 and an input buffer having a size adjusted by the input / output buffer control module 1030.
  • the error concealment module 1050 restores a case in which some packets are lost or distorted due to a transmission error during transmission of an encoded audio signal through a wireless network. Module. If the error generated in the frame is not properly processed, the sound quality of the audio signal is degraded in the frame section in which the error occurs, so that the decoding apparatus restores the signal by a data repetition method. In some embodiments, error concealment is performed in the time domain of the decoded audio data without the need for additional delay with low complexity.
  • Some embodiments use a method of repetition of previous data using previously decoded audio data for low complexity as a basic method of error concealment.
  • the repeated audio data stores normal decoded data in a buffer having a predetermined length from the most recent data. When an error occurs, the repeated audio data is read in the buffer and used to repeat the data.
  • FIG. 11 is a diagram illustrating a problem of phase mismatch or discontinuity that occurs during simple data repetition.
  • Simple data repetition creates phase-mismatching or discontinuity at the boundary of repeated data as shown in FIG. 11, and these parts cause the sound quality of the audio signal to deteriorate.
  • the same data stored in the buffer is repeatedly repeated. In this case, the same problems occur among repeated data for error concealment. Therefore, in order to solve this problem, in some embodiments, audio data stored in a buffer used for restoration at a boundary between an error frame and an error frame and an error frame when an error occurs is modified and used to overlap and add (Overlap & Add). ) Method was applied.
  • the repetition buffer stores N pieces of audio data decoded during recent normal operation.
  • data copying starts from the latest data in the iteration buffer as many times as the number of data to be repeated.
  • the data stored in the repetition buffer is modified to minimize the problem by creating an overlapping interval of a certain length.
  • Equation 4 shows the overlap and add method when the first error frame occurs.
  • 'reversed_copy_data' is the value of data to be copied from the repetition buffer. The data to be copied is taken from the most recent value (N-1) of the repeat buffer by the overlap size M.
  • 'overlap_data' is a value that is overlapped to minimize errors.
  • 'overlap_data' is inverted based on the value of the last repetition buffer as shown in Equation 5 using data from the latest value (N-1) of the repetition buffer to the overlap size M.
  • the overlap window used a sin window, such as Equation 6, in some embodiments.
  • FIG. 13A is a diagram illustrating a process of applying a superposition and addition method at one end of the repetitive data
  • FIG. 13B is a diagram illustrating a process of applying a superposition and addition method at the other end of the repeating data.
  • reversed data is a value obtained by inverting data of a repeating buffer referred to for overlapping.
  • Overlap data uses the value of the repeating buffer referred to for overlapping.
  • the repeating buffer is converted into a new repeating buffer by performing an overlapping and adding process at both ends of the buffer as shown in FIGS. 13A and 13B through the above process.
  • FIG. 14 is a diagram illustrating an error concealment method using a modified iteration buffer according to some embodiments.
  • the repeated buffer can be used for data replication for error concealment as shown in FIG. 14 without any additional work.
  • the method proposed in some embodiments can reduce the complexity of error concealment and minimize the sound quality degradation.
  • the sound quality may be improved by encoding multimedia data at a lossless or high bit rate.
  • the sound interruption can be minimized by efficiently changing from a low bit rate to a high bit rate.
  • the size of the input buffer of the receiver according to the data type can be adjusted to effectively control synchronization and delay according to the data type.
  • FIG. 15 is a diagram illustrating an example in which the data transmission apparatus 100 provides audio data to the data reproduction apparatus 1000 according to some embodiments.
  • the data transmission apparatus 100 may selectively transmit an audio frame or an identification value of an audio frame divided from an audio signal to the data reproduction apparatus 1000.
  • the data transmission apparatus 100 may split an audio signal into a plurality of audio frames, and the fourth audio frame, which is the current audio frame, may be the first audio frame, the second audio frame, which is the previous audio frames stored in the data transmission apparatus 100. And a third audio frame.
  • the data transmission apparatus 100 may compress the fourth audio frame and transmit the compressed audio frame to the data reproduction apparatus 1000 or transmit the identification value of the previous audio frame similar to the fourth audio frame. Can be sent to.
  • the data reproducing apparatus 1000 extends and outputs the compressed fourth audio frame received from the data transmitting apparatus 100 or outputs an audio frame corresponding to the identification value received from the data transmitting apparatus 100. It can be extracted from the memory of 1000 and output.
  • 16 is a flowchart of a method of providing, by the data transmission device 100, the audio data to the data reproduction device 1000 according to some embodiments.
  • the data transmission apparatus 100 may divide the audio signal input to the data transmission apparatus 100 into a plurality of audio frames.
  • the data transmission device 100 may receive a voice input spoken by a user or an audio signal provided from another device (not shown).
  • the data transmission device 100 may convert the audio signal into a digital signal.
  • the data transmission apparatus 100 may divide the received audio signal into a plurality of audio frames.
  • the data transmission apparatus 100 may continuously divide an audio signal according to time.
  • the data transmission apparatus 100 may compare the current audio frame with at least one audio frame previously stored in the memory 1700 of the data transmission apparatus 100.
  • the audio frame previously stored in the memory 1700 may be a previous audio frame of the current audio frame.
  • the audio frame previously stored in the memory 1700 may be a previous audio frame successfully transmitted to the data reproducing apparatus 1000.
  • the data transmission apparatus 100 may determine the similarity between the previous audio frame and the current audio frame by comparing the previous audio frame previously stored in the memory 1700 with the current audio frame. For example, the data transmission apparatus 100 may determine the similarity between the previous audio frame and the current audio frame by calculating a correlation value between the previous audio frame and the current audio frame. The correlation value between the previous audio frame and the current audio frame may be calculated using a technique such as Mean Square Error (MSE). However, the present invention is not limited thereto and the similarity between the previous audio frame and the current audio frame may be determined through various techniques.
  • MSE Mean Square Error
  • the data transmission apparatus 100 may determine whether the determined similarity is greater than a preset threshold.
  • the preset threshold may be variously set depending on, for example, the type of the audio signal, the method of dividing the audio signal, the specification of the data transmission apparatus 100, and the specification of the data reproducing apparatus 1000.
  • the data transmission apparatus 100 may transmit an identification value of the previous audio frame previously stored in the memory 1700 to the data reproduction apparatus 1000. Can be. The data transmission apparatus 100 may transmit the identification value of the previous audio frame having the determined similarity to the data reproduction apparatus 1000.
  • the data transmission apparatus 100 may identify an identification value of the previous audio frame having the highest similarity. Transmit to 1000.
  • the previous audio frame is previously stored in the memory of the data reproducing apparatus 1000, and the data reproducing apparatus 1000 extracts the previous audio frame stored in the memory of the data reproducing apparatus 1000 by using the received identification value. And output.
  • the data transmission apparatus 100 may retransmit the identification value of the selected previous audio frame to the data reproducing apparatus 1000 within a preset transmission time limit.
  • the data transmission apparatus 100 may compress the current audio frame and transmit it to the data reproducing apparatus 1000.
  • the data transmission apparatus 100 may determine a transmission method of the next audio frame.
  • the data transmission apparatus 100 may compress the current audio frame.
  • the data transmission apparatus 100 may transmit the compressed current audio frame to the data reproduction apparatus 1000.
  • 17 is a flowchart illustrating a method of compressing a current audio frame and transmitting the current audio frame to the data reproducing apparatus 1000 according to some embodiments.
  • the data transmission apparatus 100 may compress the current audio frame.
  • the data transmission apparatus 100 may compress the current audio frame into an audio bitstream using various codec algorithms in order to transmit the current audio frame to the data reproducing apparatus 1000.
  • the data transmission apparatus 100 may transmit the compressed audio frame to the data reproduction apparatus 1000.
  • the data transmission apparatus 100 may transmit the compressed current audio frame to the data reproduction apparatus 1000.
  • the data transmission apparatus 100 may check the time at which the compressed audio frame is transmitted.
  • the data transmission apparatus 100 may determine whether an ACK signal is received from the data reproduction apparatus 1000. When the data reproducing apparatus 1000 successfully receives the compressed audio frame, the data reproducing apparatus 1000 may transmit an ACK signal to the data transmitting apparatus 100. In addition, when the data reproducing apparatus 1000 does not successfully receive the compressed audio signal, the data reproducing apparatus 1000 may transmit a NACK signal to the data transmitting apparatus 100.
  • step S1710 when it is determined that the data transmission apparatus 100 receives the ACK signal from the data reproducing apparatus 1000, in step S1715 the data transmission apparatus 100 decompresses the successfully transmitted compressed current audio frame. (decompression)
  • the data transmission apparatus 100 may delete at least one of previous audio frames previously stored in the memory 1700.
  • the data transmission apparatus 100 may select at least one of previously stored previous audio frames and delete the selected previous audio frame from the memory 1700 according to a preset criterion. As at least one of the previous audio frames previously stored in the memory 1700 is deleted, a space in which the extended current audio frame is to be stored may be secured in the memory 1700.
  • the data transmission apparatus 100 may store the extended current audio frame in the memory 1700.
  • the data transmission apparatus 100 transmits the transmission time of the compressed current audio frame in step S1730. It may be determined whether the time limit has been exceeded.
  • the transmission time limit may be a time limit set for transmitting a compressed current audio frame and may be set according to various criteria.
  • the data transmission device 100 may compress the next audio frame. Thereafter, in operation S1705, the data transmission apparatus 100 may transmit the compressed next audio frame to the data reproduction apparatus 1000.
  • FIG. 18 is a flowchart of a method of managing an audio frame by the data transmission apparatus 100 according to some embodiments.
  • the first audio frame 1840, the second audio frame 1850, and the third audio frame 1860, which are previous audio frames, may be stored in the memory 1700 of the data transmission apparatus 100.
  • the data transmission apparatus 100 may store the fourth audio frame 1870, which is the current audio frame, in the memory 1700.
  • the data transmission apparatus 100 may expand the compressed fourth audio frame 1870 that has been successfully transmitted.
  • the fourth audio frame 1870 may be a current audio frame, and as the compressed fourth audio frame 1870 is successfully transmitted to the data reproducing apparatus 1000, the data transmitting apparatus 100 may compress the fourth audio frame.
  • the frame 1870 may be extended.
  • the data transmission apparatus 100 may determine a deletion order of previous audio frames.
  • the data transmission apparatus 100 may determine the deletion order of the first audio frame 1840, the second audio frame 1850, and the third audio frame 1860.
  • the data transmission apparatus 100 may determine the deletion order of previous audio frames based on the time when the previous audio frames are stored in the memory 1700. For example, the data transmission apparatus 100 may determine the deletion order such that the previous audio frame stored in the memory 1700 is deleted first.
  • the data transmission apparatus 100 may determine the deletion order of the previous audio frames based on the number of times the identification value of the previous audio frame is transmitted to the data reproducing apparatus 1000. For example, the data transmission apparatus 100 may determine the deletion order such that the previous audio frame having a small number of times that an identification value has been transmitted to the data reproduction apparatus 1000 is deleted from the memory 1700 first.
  • the criterion for determining the deletion order of the data transmission device 100 is not limited to the above, and the data transmission device 100 may determine the deletion order according to various criteria in consideration of the type of the audio signal.
  • the data transmission apparatus 100 may provide the data reproducing apparatus 1000 with information about the determined deletion order. Accordingly, the data reproducing apparatus 1000 may delete the previous audio frames stored in the data reproducing apparatus 1000 according to the determined deletion order. In addition, the previous audio frame stored in the data transmission apparatus 100 and the previous audio frame stored in the data reproducing apparatus 1000 may be synchronized.
  • the data transmission apparatus 100 may select a previous audio frame to be deleted.
  • the data transmission apparatus 100 may be the first of the first audio frame 1840, the second audio frame 1850, and the third audio frame 1860 stored in the memory 1700.
  • One audio frame 1840 may be selected.
  • the data transmission apparatus 100 may delete the selected previous audio frame from the memory 1700.
  • the data transmission device 100 may delete the selected first audio frame from the memory 1700.
  • the data transmission apparatus 100 may store the expanded fourth audio frame in the memory 1700.
  • 19 is a flowchart of a method of storing and managing an audio frame received from the data transmission apparatus 100 by the data reproducing apparatus 1000, according to some embodiments.
  • the data reproducing apparatus 1000 may receive data related to an audio signal from the data transmitting apparatus 100.
  • the data reproducing apparatus 1000 may receive a compressed current audio frame from the data transmission apparatus 100 or receive an identification value of a previous audio frame.
  • the data reproducing apparatus 1000 may identify a data type of the received data.
  • the data reproducing apparatus 1000 may determine whether data related to the audio signal received from the data transmitting apparatus 100 is a compressed current audio frame or an identification value of a previous audio frame.
  • step S1905 If the type of data identified in step S1905 is a compressed current audio frame, the data reproducing apparatus 1000 may decompress the compressed current audio frame in step S1910.
  • the data reproducing apparatus 1000 may delete the previous audio frame previously stored in the memory of the data reproducing apparatus 1000 based on the preset deletion order.
  • the data reproducing apparatus 1000 may receive and store a setting value related to the deletion rank from the data transmission apparatus 100 in advance, and the same setting value regarding the deletion rank may be stored in the data transmission apparatus 100 and the data reproducing apparatus ( 1000, respectively.
  • the present invention is not limited thereto, and the data reproducing apparatus 1000 may generate a setting value relating to a deletion rank based on a user input and provide the generated setting value to the data transmission apparatus 100.
  • the data reproducing apparatus 1000 may delete at least one of the previous audio frames pre-stored in the memory according to a setting value of the deletion order. As the previous audio frame is deleted from the memory, a storage space for storing the current audio frame in the memory may be secured.
  • the data reproducing apparatus 1000 may store the extended current audio frame in the memory.
  • the data reproducing apparatus 1000 may transmit an ACK signal to the data transmitting apparatus 100.
  • the data reproducing apparatus 1000 may transmit an ACK signal to the data transmitting apparatus 100 to inform the data transmitting apparatus 100 that the compressed current audio frame has been successfully received.
  • the data transmission apparatus 100 may determine that the compressed current audio frame has been successfully transmitted to the data reproduction apparatus 1000 by receiving the ACK signal.
  • the data transmission apparatus 100 may delete the previous audio frame previously stored in the memory 1700 of the data transmission apparatus 100, extend the compressed current audio frame, and store it in the memory 1700. In this case, the data transmission apparatus 100 may delete the previous audio frame according to the same deletion order as that of the data reproduction apparatus 1000.
  • the data reproducing apparatus 1000 may output an audio signal of the extended current audio frame.
  • step S1935 the data reproducing apparatus 1000 may extract the previous audio frame corresponding to the received identification value from the memory of the data reproducing apparatus 1000. have.
  • the data reproducing apparatus 1000 may extract a previous audio frame having the received identification value.
  • the data reproducing apparatus 1000 may output an audio signal of the extracted previous audio frame.
  • the data transmission apparatus 100 and the data reproducing apparatus 1000 delete the previous audio frame using the same setting value with respect to the deletion order in order to store and delete the same previous audio frame. It is not limited.
  • the data reproducing apparatus 1000 may delete the previous audio frame and provide an identification value of the deleted previous audio frame to the data transmitting apparatus 100, and the data transmitting apparatus 100 receives the data from the data reproducing apparatus 1000.
  • the previous audio frame identical to the previous audio frame deleted by the data reproducing apparatus 1000 may be deleted from the memory 1700 of the data transmission apparatus 100 using the identification value of the deleted previous audio frame.
  • the data reproducing apparatus 1000 may transmit the ACK signal to the data transmitting apparatus 100 before step S1915, and the data transmitting apparatus 100 receives the ACK signal and the memory 1700 of the data transmitting apparatus 100. You can delete the previous audio frame within.
  • the data transmission apparatus 100 may provide an identification value of the deleted previous audio frame to the data reproducing apparatus 1000, and the data reproducing apparatus 1000 may delete the previous previous audio received from the data transmitting apparatus 100.
  • the previous audio frame identical to the previous audio frame deleted by the data transmission apparatus 100 may be deleted from the memory of the data reproducing apparatus 1000 by using the identification value of the frame.
  • the same audio frame may be stored and deleted in the memory of the data reproducing apparatus 1000 and the memory 1700 of the data transmitting apparatus 100.
  • 20 and 21 are block diagrams of a data transmission apparatus 100 according to some embodiments.
  • the data transmission apparatus 100 may include a user input unit 1100, an output unit 1200, a controller 1300, and a communicator 1500. However, not all the components shown in FIG. 6 are essential components of the data transmission apparatus 100.
  • the data transmission apparatus 100 may be implemented by more components than those illustrated in FIG. 20, or the data transmission apparatus 100 may be implemented by fewer components than the components illustrated in FIG. 20.
  • the data transmission apparatus 100 may include a sensing unit in addition to the user input unit 1100, the output unit 1200, the control unit 1300, and the communication unit 1500. 1400, an A / V input unit 1600, and a memory 1700 may be further included.
  • the user input unit 1100 means a means for a user to input data for controlling the data transmission apparatus 100.
  • the user input unit 1100 includes a key pad, a dome switch, a touch pad (contact capacitive type, pressure resistive layer type, infrared sensing type, surface ultrasonic conduction type, and integral type). Tension measurement method, piezo effect method, etc.), a jog wheel, a jog switch, and the like, but are not limited thereto.
  • the user input unit 1100 may include a user input for setting a threshold to be compared with a similarity between a current audio frame and a previous audio frame, a user input for setting a transmission time limit of the current audio frame, and a user input for setting a deletion order of a previous audio frame. And the like.
  • the output unit 1200 may output an audio signal, a video signal, or a vibration signal, and the output unit 1200 may include a display unit 1210, an audio output unit 1220, and a vibration motor 1230. have.
  • the display unit 1210 displays and outputs information processed by the data transmission apparatus 100.
  • the display unit 1210 may display information related to data transmission between the data transmission apparatus 100 and the data reproducing apparatus 1000.
  • the display 1210 may display a transmission rate and power efficiency of the audio frame identification value.
  • the display unit 1210 may display information on the status of synchronization between the previous audio frame stored in the data transmission apparatus 100 and the previous audio frame stored in the data reproducing apparatus 1000.
  • the display unit 1210 may be used as an input device in addition to the output device.
  • the display unit 1210 may include a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, and a three-dimensional display. 3D display, an electrophoretic display.
  • the data transmission apparatus 100 may include two or more display units 1210 according to the implementation form of the data transmission apparatus 100. In this case, the two or more display units 1210 may be disposed to face each other using a hinge.
  • the sound output unit 1220 outputs audio data received from the communication unit 1500 or stored in the memory 1700.
  • the sound output unit 1220 outputs a sound signal related to a function (for example, a call signal reception sound, a message reception sound, and a notification sound) performed by the data transmission device 100.
  • the sound output unit 1220 may include a speaker, a buzzer, and the like.
  • the vibration motor 1230 may output a vibration signal.
  • the vibration motor 1230 may output a vibration signal corresponding to the output of audio data or video data (eg, a call signal reception sound, a message reception sound, etc.).
  • the vibration motor 1230 may output a vibration signal when a touch is input to the touch screen.
  • the controller 1300 generally controls the overall operation of the data transmission apparatus 100.
  • the controller 1300 executes programs stored in the memory 1700, such that the user input unit 1100, the output unit 1200, the sensing unit 1400, the communication unit 1500, and the A / V input unit 1600 are provided. ) Can be controlled overall.
  • the controller 1300 may divide the audio signal input to the data transmission apparatus 100 into a plurality of audio frames.
  • the data transmission device 100 may receive a voice input spoken by a user or receive an audio signal provided from another device (not shown), and the controller 1300 may continuously divide the audio signal according to time.
  • the controller 1300 may compare the current audio frame with at least one audio frame previously stored in the memory 1700 of the data transmission apparatus 100.
  • the audio frame previously stored in the memory 1700 may be a previous audio frame of the current audio frame.
  • the audio frame previously stored in the memory 1700 may be a previous audio frame successfully transmitted to the data reproducing apparatus 1000.
  • the controller 1300 may determine the similarity between the previous audio frame and the current audio frame by comparing the previous audio frame previously stored in the memory 1700 with the current audio frame. For example, the controller 1300 may determine a similarity degree between the previous audio frame and the current audio frame by calculating a correlation value between the previous audio frame and the current audio frame. The correlation value between the previous audio frame and the current audio frame may be calculated using a technique such as Mean Square Error (MSE). However, the present invention is not limited thereto and the similarity between the previous audio frame and the current audio frame may be determined through various techniques.
  • MSE Mean Square Error
  • the controller 1300 may determine whether the determined similarity is greater than a preset threshold.
  • the preset threshold may be variously set depending on, for example, the type of the audio signal, the method of dividing the audio signal, the specification of the data transmission apparatus 100, and the specification of the data reproducing apparatus 1000.
  • the controller 1300 may provide the data reproducing apparatus 1000 with an identification value of a previous audio frame previously stored in the memory 1700.
  • the controller 1300 may provide the data reproducing apparatus 1000 with an identification value of the previous audio frame having the determined similarity.
  • the controller 1300 may identify an identification value of the previous audio frame having the highest similarity as the data reproducing apparatus 1000. ) Can be provided.
  • the previous audio frame is previously stored in the memory of the data reproducing apparatus 1000, and the data reproducing apparatus 1000 extracts the previous audio frame stored in the memory of the data reproducing apparatus 1000 by using the received identification value. And output.
  • the controller 1300 may compress the current audio frame.
  • the controller 1300 may provide the compressed current audio frame to the data reproducing apparatus 1000.
  • the controller 1300 may compress the current audio frame and provide the same to the data reproducing apparatus 1000 and manage the previous audio frame stored in the memory 1700.
  • the controller 1300 may compress the current audio frame.
  • the controller 1300 may compress the current audio frame into an audio bitstream using various codec algorithms to provide the current audio frame to the data reproducing apparatus 1000.
  • the controller 1300 may provide the compressed current audio frame to the data reproducing apparatus 1000.
  • the controller 1300 may check the time at which the compressed audio frame was transmitted.
  • the controller 1300 may determine whether an ACK signal is received from the data reproducing apparatus 1000. When the data reproducing apparatus 1000 successfully receives the compressed audio frame, the data reproducing apparatus 1000 may transmit an ACK signal to the data transmitting apparatus 100. In addition, when the data reproducing apparatus 1000 does not successfully receive the compressed audio signal, the data reproducing apparatus 1000 may transmit a NACK signal to the data transmitting apparatus 100.
  • the controller 1300 may decompress the successfully transmitted compressed current audio frame.
  • the controller 1300 may delete at least one of previous audio frames previously stored in the memory 1700.
  • the controller 1300 may select at least one of previously stored previous audio frames and delete the selected previous audio frame from the memory 1700 according to a preset criterion. As at least one of the previous audio frames previously stored in the memory 1700 is deleted, a space in which the extended current audio frame is to be stored may be secured in the memory 1700.
  • the controller 1300 may store the extended current audio frame in the memory 1700.
  • the controller 1300 may determine whether the transmission time of the compressed current audio frame exceeds the transmission time limit.
  • the transmission time limit may be a time limit set for transmitting a compressed current audio frame and may be set according to various criteria.
  • the controller 1300 may compress the next audio frame. Thereafter, the controller 1300 may provide the compressed audio frame to the data reproducing apparatus 1000.
  • the sensing unit 1400 may detect a state of the data transmission device 100 or a state around the data transmission device 100 and transmit the detected information to the control unit 1300.
  • the sensing unit 1400 may include a geomagnetic sensor 1410, an acceleration sensor 1420, a temperature / humidity sensor 1430, an infrared sensor 1440, a gyroscope sensor 1450, and a position sensor. (Eg, GPS) 1460, barometric pressure sensor 1470, proximity sensor 1480, and RGB sensor (illuminance sensor) 1490, but are not limited thereto. Since functions of the respective sensors can be intuitively deduced by those skilled in the art from the names, detailed descriptions thereof will be omitted.
  • the communication unit 1500 may include one or more components that allow communication between the data transmission apparatus 100 and the data reproducing apparatus 1000.
  • the communicator 1500 may include a short range communicator 1510, a mobile communicator 1520, and a broadcast receiver 1530.
  • the short-range wireless communication unit 151 includes a Bluetooth communication unit, a Bluetooth low energy (BLE) communication unit, a near field communication unit (Near Field Communication unit), a WLAN (Wi-Fi) communication unit, a Zigbee communication unit, an infrared ray ( IrDA (Infrared Data Association) communication unit, WFD (Wi-Fi Direct) communication unit, UWB (ultra wideband) communication unit, Ant + communication unit and the like, but may not be limited thereto.
  • the mobile communication unit 1520 transmits and receives a radio signal with at least one of a base station, an external terminal, and a server on a mobile communication network.
  • the wireless signal may include various types of data according to transmission and reception of a voice call signal, a video call call signal, or a text / multimedia message.
  • the broadcast receiving unit 1530 receives a broadcast signal and / or broadcast related information from the outside through a broadcast channel.
  • the broadcast channel may include a satellite channel and a terrestrial channel.
  • the data transmission apparatus 100 may not include the broadcast reception unit 1530.
  • the communicator 1500 may receive standard audio frames in order to pre-store commonly used audio frame samples in the memory 1700.
  • the input unit 1600 is for inputting an audio signal or a video signal, and may include a camera 1610 and a microphone 1620.
  • the camera 1610 may obtain an image frame such as a still image or a moving image through an image sensor in a video call mode or a photographing mode.
  • the image captured by the image sensor may be processed by the controller 1300 or a separate image processor (not shown).
  • the image frame processed by the camera 1610 may be stored in the memory 1700 or transmitted to the outside through the communication unit 1500. Two or more cameras 1610 may be provided according to the configuration aspect of the terminal.
  • the microphone 1620 receives an external sound signal and processes the external sound signal into electrical voice data.
  • the microphone 1620 may receive an acoustic signal from an external device or speaker.
  • the microphone 1620 may use various noise removing algorithms for removing noise generated in the process of receiving an external sound signal.
  • the memory 1700 may store a program for processing and controlling the controller 1300, and may store data input to the data transmission device 100 or output from the data transmission device 100. In addition, the memory 1700 may be used as a buffer memory for storing previous audio frames.
  • the memory 1700 may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, SD or XD memory), RAM Random Access Memory (RAM) Static Random Access Memory (SRAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Programmable Read-Only Memory (PROM), Magnetic Memory, Magnetic Disk It may include at least one type of storage medium of the optical disk.
  • RAM Random Access Memory
  • SRAM Static Random Access Memory
  • ROM Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • PROM Programmable Read-Only Memory
  • Magnetic Memory Magnetic Disk It may include at least one type of storage medium of the optical disk.
  • Programs stored in the memory 1700 may be classified into a plurality of modules according to their functions.
  • the programs stored in the memory 1700 may be classified into a UI module 1710, a touch screen module 1720, a notification module 1730, and the like. .
  • the UI module 1710 may provide a specialized UI, GUI, or the like that interoperates with the data transmission apparatus 100 for each application.
  • the touch screen module 1720 may detect a touch gesture on a user's touch screen and transmit information about the touch gesture to the controller 1300.
  • the touch screen module 1720 according to some embodiments may recognize and analyze a touch code.
  • the touch screen module 1720 may be configured as separate hardware including a controller.
  • Various sensors may be provided inside or near the touch screen to detect a touch or proximity touch of the touch screen.
  • An example of a sensor for sensing a touch of a touch screen is a tactile sensor.
  • the tactile sensor refers to a sensor that senses the contact of a specific object to the extent that a person feels or more.
  • the tactile sensor may sense various information such as the roughness of the contact surface, the rigidity of the contact object, the temperature of the contact point, and the like.
  • an example of a sensor for sensing a touch of a touch screen is a proximity sensor.
  • the proximity sensor refers to a sensor that detects the presence or absence of an object approaching a predetermined detection surface or an object present in the vicinity without using a mechanical contact by using an electromagnetic force or infrared rays.
  • Examples of the proximity sensor include a transmission photoelectric sensor, a direct reflection photoelectric sensor, a mirror reflection photoelectric sensor, a high frequency oscillation proximity sensor, a capacitive proximity sensor, a magnetic proximity sensor, and an infrared proximity sensor.
  • the user's touch gesture may include tap, touch and hold, double tap, drag, pan, flick, drag and drop, and swipe.
  • the notification module 1730 may generate a signal for notifying occurrence of an event of the data transmission device 100. Examples of events occurring in the data transmission apparatus 100 include call signal reception, message reception, key signal input, schedule notification, and the like.
  • the notification module 1730 may output a notification signal in the form of a video signal through the display unit 1210, may output the notification signal in the form of an audio signal through the sound output unit 1220, and the vibration motor 1230. Through the notification signal may be output in the form of a vibration signal.
  • the data reproducing apparatus 1000 may include a configuration similar to that of the data transmitting apparatus 100 illustrated in FIGS. 20 and 21.
  • the controller of the data reproducing apparatus 1000 may receive data related to an audio signal from the data transmitting apparatus 100 through the communication unit of the data reproducing apparatus 1000.
  • the controller of the data reproducing apparatus 1000 may identify a data type of the received data.
  • the controller of the data reproducing apparatus 1000 may determine whether data related to the audio signal received from the data transmitting apparatus 100 is a compressed current audio frame or an identification value of a previous audio frame.
  • the controller of the data reproducing apparatus 1000 may expand the compressed current audio frame.
  • the controller of the data reproducing apparatus 1000 may delete the previous audio frame pre-stored in the memory of the data reproducing apparatus 1000 based on the preset deletion order.
  • the controller of the data reproducing apparatus 1000 may receive and store a setting value of the deletion rank from the data transmission apparatus 100 in advance, and the same setting value of the deletion rank may be stored in the data transmission apparatus 100 and the data reproduction.
  • Each device may be stored in the device 1000.
  • the controller of the data reproducing apparatus 1000 may generate a setting value related to the deletion order based on a user input and provide the generated setting value to the data transmission apparatus 100.
  • the controller of the data reproducing apparatus 1000 may delete at least one of the previous audio frames pre-stored in the memory according to a setting value of the deletion order. As the previous audio frame is deleted from the memory, a storage space for storing the current audio frame in the memory may be secured.
  • the controller of the data reproducing apparatus 1000 may store the extended current audio frame in a memory.
  • the controller of the data reproducing apparatus 1000 may provide an ACK signal to the data transmitting apparatus 100.
  • the controller of the data reproducing apparatus 1000 may provide an ACK signal to the data transmitting apparatus 100 to inform the data transmitting apparatus 100 that the compressed current audio frame has been successfully received.
  • the data transmission apparatus 100 may determine that the compressed current audio frame has been successfully transmitted to the data reproduction apparatus 1000 by receiving the ACK signal.
  • the data transmission apparatus 100 may delete the previous audio frame previously stored in the memory 1700 of the data transmission apparatus 100, extend the compressed current audio frame, and store it in the memory 1700. In this case, the data transmission apparatus 100 may delete the previous audio frame according to the same deletion order as that of the data reproduction apparatus 1000.
  • the controller of the data reproducing apparatus 1000 may output the audio signal of the extended current audio frame through the output unit of the data reproducing apparatus 1000.
  • the controller of the data reproducing apparatus 1000 may extract the previous audio frame corresponding to the received identification value from the memory of the data reproducing apparatus 1000.
  • the controller of the data reproducing apparatus 1000 may extract a previous audio frame having the received identification value.
  • the controller of the data reproducing apparatus 1000 may output an audio signal of the extracted previous audio frame.
  • the present invention can be embodied as computer readable codes on a computer readable recording medium.
  • the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored.
  • Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like, which may also be implemented in the form of carrier waves (for example, transmission over the Internet). Include.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
  • functional programs, codes and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.

Abstract

Provided are a method and an apparatus for sending multimedia data. A first device, which provides an audio signal to a second device, comprises: a control unit for dividing an audio signal inputted to the first device into a plurality of audio frames, comparing at least one previous audio frame pre-stored in a memory of the first device with a current audio frame among a plurality of audio frames, and selecting one from among the pre-stored previous audio frames on the basis of a similarity between the pre-stored previous audio frame and the current audio frame; and a communication unit for sending an identification value of the selected previous audio frame to the second device.

Description

멀티미디어 데이터를 전송하는 방법 및 장치Method and apparatus for transmitting multimedia data
본 개시는 무선 통신 및 데이터 네트워크를 이용한 멀티미디어 데이터의 전송 방법 및 장치에 관한 것이다.The present disclosure relates to a method and apparatus for transmitting multimedia data using wireless communication and a data network.
무선 통신 및 네트워크에서 앞서 설명한 바와 같은 데이터 전송의 문제점을 해결하기 위한 방법은 다음과 같은 것들이 있다. 예를 들어 복수의 무선환경에서 두 네트워크 간 간섭을 줄이기 위하여 네트워크 사이의 전송 상태를 인지할 수 있는 여러 가지 파라미터(parameter)를 사용하여 네트워크 상황을 모니터링하고 그 결과에 따라 두 네트워크 간의 간섭을 줄이기 위한 여러 가지 방법을 적용한다. 이들 방법들의 대부분은 네트워크 상황을 모니터링 하기 위해 RSSI(Receiver Signal Strength Indication), 시스템 잡음 레벨 정보(system noise level information), 전송되는 신호의 파워 스펙트럼(power spectrum) 등을 이용한다. 이들 결과에 따라 RF 단에서의 송신기 파워(transmitter power)를 조정하거나 데이터 전송 시 사용하는 채널 맵(channel map)의 변경을 통하여 서로 다른 데이터 네트워크 간의 간섭을 최소화한다. 또 다른 방법으로 복수의 무선 네트워크 간의 우선순위 레벨을 조정하거나 안테나 격리도를 조정하는 방법, 복수의 네트워크에서 동일 안테나를 공유하는 경우 안테나 스위치를 사용하여 네트워크 간 공존이 가능하도록 안테나 시스템을 구성하는 방법 등이 있다.Methods for solving the problems of data transmission as described above in the wireless communication and network are as follows. For example, in order to reduce the interference between two networks in multiple wireless environments, it is possible to monitor the network status by using various parameters that can recognize the transmission status between the networks and, accordingly, to reduce the interference between the two networks. Several methods apply. Most of these methods use RSSI (Receiver Signal Strength Indication), system noise level information, power spectrum of the transmitted signal to monitor network conditions. According to these results, interference between different data networks is minimized by adjusting transmitter power in the RF stage or changing a channel map used for data transmission. Another method is to adjust priority levels or adjust antenna isolation between a plurality of wireless networks, or to configure an antenna system to coexist between networks using an antenna switch when the same antenna is shared in a plurality of networks. There is this.
또한 패킷 전송 시에 패킷 손실(packet-loss) 정보를 이용하여 데이터 비율(data rate)을 조정하거나 계층적 코덱(scalable codec)을 사용하여 채널상황 및 대역폭에 따라 전송되는 멀티미디어 데이터의 양을 조정하는 방법을 사용한다.In addition, the packet rate information is used to adjust the data rate by using packet-loss information or the amount of multimedia data transmitted according to the channel condition and the bandwidth by using a scalable codec. Use the method.
패킷이 손실되거나 왜곡되는 경우 프레임 에러(frame error)가 발생하게 되고 이를 보간하기 위해 에러 은닉(error concealment) 방법을 사용한다. 음성이나 오디오 정보가 전송되는 경우에 일반적으로 사용하는 에러 은닉 방법은 오류가 발생된 프레임에서 소리의 크기를 작게 함으로써 오류가 출력 신호에 미치는 영향을 약화시키는 묵음(muting)법, 오류가 발생된 프레임의 이전 정상 프레임(Previous Good Frame)을 반복하여 재생함으로써 오류가 발생된 프레임의 신호를 복원하는 반복(repetition)법, 이전 정상 프레임과 이후 정상 프레임(Next Good Frame)의 파라미터를 보간하여 오류 프레임의 파라미터를 예측하는 보간법(interpolation) 등이 있다.When a packet is lost or distorted, a frame error occurs and an error concealment method is used to interpolate it. The error concealment method commonly used when voice or audio information is transmitted is a muting method that reduces the effect of the error on the output signal by reducing the volume of the sound in the frame where the error occurs. Repetition method which restores the signal of the frame that caused the error by repeatedly playing the previous good frame of the previous frame, and interpolates the parameters of the previous frame and the next good frame. Interpolation for predicting parameters.
한편, 데이터를 전송하는 디바이스의 전력 효율 및 네트워크의 주파수 효율을 향상시키기 위하여 DTX(Discontinuous Transmission) 및 DRX(Discontinuous Reception)와 같은 데이터 전송 방법이 일반적으로 이용되고 있다.Meanwhile, data transmission methods such as DTX (Discontinuous Transmission) and DRX (Discontinuous Reception) are generally used in order to improve power efficiency of a device for transmitting data and frequency efficiency of a network.
또한, 무선 네트워크를 통하여 데이터가 전송되는 경우에는 유선 네트워크에 비해 불안정한 채널을 통해 데이터가 전송되므로, 데이터 전송에 있어서 필연적으로 오류가 발생할 수 있다. 이에 따라, 디바이스는 데이터 전송의 오류 비율을 감소시키기 위해서는 높은 송신 전력으로 데이터를 전송하여야 하며, 이 경우 디바이스의 전력 효율이 감소하게 되는 문제가 있었다. In addition, when data is transmitted through a wireless network, since data is transmitted through an unstable channel as compared to a wired network, an error may inevitably occur in data transmission. Accordingly, in order to reduce the error rate of data transmission, the device must transmit data with high transmission power, and in this case, there is a problem that the power efficiency of the device is reduced.
복수의 무선 네트워크에서 발생하는 간섭을 줄이고 데이터를 효율적으로 전송하기 위한 방법들이 있다. 그러나, 기존의 방법들은 네트워크 환경을 모니터링 하고 그 결과를 이용하여 신호의 세기를 조절하거나, 안테나 격리도를 조정하여 채널간의 간섭을 최소화하는 등 주로 RF 단에서 네트워크간 간섭을 최소화하기 위한 방법들이 적용되고 있다.There are methods for reducing data interference and efficiently transmitting data in a plurality of wireless networks. However, the existing methods are mainly applied to minimize the interference between networks in the RF stage, such as monitoring the network environment and using the results to adjust signal strength or adjusting antenna isolation to minimize the interference between channels. have.
데이터 네트워크의 상황에 따라 비트율(bit rate)을 조정하는 경우, 기존의 방법은 패킷 손실 정보를 이용하여 사용 가능한 대역폭을 예측하고, 그에 따라 비트율을 조정해주는 방법을 사용하였다. 그러나 복수의 무선 네트워크 간의 간섭이 발생하는 경우, 하나의 파라미터를 가지고 비트율을 조정해주는 방법으로는 네트워크의 간섭에 따른 상황을 정확히 반영하지 못하는 경우가 발생한다.In the case of adjusting the bit rate according to the situation of the data network, the conventional method uses the packet loss information to estimate the available bandwidth and adjust the bit rate accordingly. However, when interference between a plurality of wireless networks occurs, a method of adjusting the bit rate with one parameter may not accurately reflect the situation due to the interference of the network.
무선 네트워크를 이용하여 실시간 오디오 또는 비디오 스트리밍 서비스를 이용하는 경우 지연(Latency)과 채널 에러에 대한 강인성(Robustness)은 중요한 요소이다. 이때, 지연 및 강인성은 일반적으로 수신단의 입력버퍼의 크기에 의해 결정된다. 즉 입력버퍼의 크기가 크다면 에러에 대한 강인성은 좋아지지만 지연이 발생하게 되고, 입력버퍼의 크기가 작다면 지연은 짧아지는 반면 강인성은 떨어진다. TV와 같이 비디오와 함께 전송되는 오디오 데이터의 경우 동기화(sync) 및 지연은 매우 중요하다. 하지만 오디오 신호만 존재하는 데이터의 경우 비디오의 경우보다는 동기화 및 지연이 덜 중요하다. 그러나 기존의 방법은 이러한 입력 데이터의 타입을 고려하지 않고 고정된 버퍼 크기를 사용하기 때문에 데이터 타입에 따라 발생하는 동기화 및 지연에 효과적으로 대응하지 못한다.When using real-time audio or video streaming service using a wireless network, robustness against latency and channel error is an important factor. In this case, delay and robustness are generally determined by the size of the input buffer of the receiver. In other words, if the size of the input buffer is large, the robustness against the error is improved, but delay occurs. If the size of the input buffer is small, the delay is short, but the robustness is low. For audio data transmitted with video, such as a TV, sync and delay are very important. However, for data with only an audio signal, synchronization and delay are less important than for video. However, since the conventional method uses a fixed buffer size without considering the type of the input data, it does not effectively cope with the synchronization and delay caused by the data type.
에러 은닉의 경우 위에서 언급한 이전 정상 프레임을 이용하여 오류가 발생하는 신호를 복원하는 반복법(repetition)은 단순 반복할 경우 프레임간 불연속 및 위상 불일치(phase mismatch) 등의 문제점이 발생하게 되어 우수한 성능을 기대하기 힘들다. 이전 정상 프레임과 이후 정상 프레임을 이용하는 보간법(interpolation)의 경우 한 프레임을 지연시켜야 하므로 지연에 민감한 실시간 오디오 또는 비디오 스트리밍 서비스 시 사용하기에는 적절하지 않다. In the case of error concealment, the repetition of reconstructing an error signal using the previous normal frame mentioned above causes problems such as discontinuity and phase mismatch between frames when simple repetition occurs. It's hard to expect Interpolation using a previous normal frame and a subsequent normal frame requires a delay of one frame, which is not suitable for use in delay-sensitive real-time audio or video streaming services.
일부 실시예에서 해결하고자 하는 과제는 무선 네트워크 환경에서 네트워크 간섭을 알 수 있는 복수의 네트워크 상태 파라미터(network status parameter), 동일 네트워크를 사용하는 복수의 무선 주변장치에 따른 대역폭 변화 등 무선 네트워크 환경을 분석하고, 이를 이용하여 오디오, 비디오 등 멀티미디어 데이터의 비트율을 효율적으로 조정하고 패킷을 구성하는 방법을 제공하는 것이다. 즉 네트워크 환경이 좋은 강전계 상황에서는 무손실(lossless) 또는 높은 비트율로 데이터를 부호화하고 네트워크 환경이 나쁜 약전계 상황에서는 낮은 비트율로 데이터를 부호화하여 채널 상황에 따라 끊김없이 데이터를 전송하는 것이다.In some embodiments, a problem to be solved is to analyze a wireless network environment such as a plurality of network status parameters for detecting network interference in a wireless network environment, and a bandwidth change according to a plurality of wireless peripheral devices using the same network. In addition, the present invention provides a method for efficiently adjusting the bit rate of multimedia data such as audio and video and constructing a packet using the same. That is, data is encoded at a lossless or high bit rate in a strong electric field in a good network environment, and data is transmitted at low bit rates in a weak electric field in a bad network environment.
또한, 일부 실시예에서 해결하고자 하는 과제는 미디어 타입(오디오, 비디오)에 따라 지연을 효과적으로 조정하여 동기화가 중요한 데이터의 경우 지연을 최소화하고 그렇지 않은 경우 에러에 강인하도록 하는 방법을 제공하는 것이다.In addition, the problem to be solved in some embodiments is to provide a method of effectively adjusting the delay according to the media type (audio, video) so as to minimize the delay in case of synchronization-critical data and to be robust to errors otherwise.
또한, 일부 실시예에서 해결하고자 하는 과제는 에러 프레임 발생시 이전 정상프레임을 이용하는 에러 은닉 방법을 사용하여 낮은 복잡도로 추가적인 지연이 필요없는 프레임 오류 은닉 방법 및 장치를 제공하는 것이다. 이를 위하여 에러 은닉시 발생하는 프레임간의 불연속 및 위상 불일치를 최소화하여 음질 저하를 최소화할 수 있도록 하는 것이다.In addition, a problem to be solved in some embodiments is to provide a frame error concealment method and apparatus that does not require additional delay with low complexity by using an error concealment method using a previous normal frame when an error frame occurs. To this end, it is possible to minimize sound quality degradation by minimizing discontinuity and phase mismatch between frames occurring during error concealment.
또한, 일부 실시예는, 무선 통신 네트워크를 통하여 연결된 디바이스들 간에 오디오 데이터 전송함에 있어서, 디바이스의 전력 소모를 감소시킬 수 있는 방법 및 장치를 제공할 수 있다.In addition, some embodiments may provide a method and apparatus capable of reducing power consumption of a device in transmitting audio data between devices connected via a wireless communication network.
또한, 일부 실시예는, 오디오 데이터를 송수신을 하는 디바이스들이 오디오 프레임을 저장하는 메모리를 관리하고 동기화할 수 있는 방법 및 장치를 제공한다.In addition, some embodiments provide a method and apparatus by which devices transmitting and receiving audio data can manage and synchronize memory storing audio frames.
또한, 일부 실시예는, 오디오 프레임과 오디오프레임의 식별값을 선택적으로 전송할 수 있는 방법 및 장치를 제공한다.In addition, some embodiments provide a method and apparatus for selectively transmitting audio frames and identification values of audio frames.
도 1은 일부 실시예에서의 무선 네트워크 상황에 따른 비트율(bit-rate) 및 지연(latency)을 컨트롤하고 전송될 패킷(packet)을 구성하는 데이터 전송 장치에 대한 개략적인 블록도이다.FIG. 1 is a schematic block diagram of an apparatus for controlling a bit rate and latency and configuring a packet to be transmitted according to a wireless network situation in some embodiments.
도 2는 일부 실시예에 의한 네트워크 채널에 따른 패킷 크기, 프레임 개수 및 프레임 크기를 결정하는 방법의 흐름도이다. 2 is a flowchart of a method of determining a packet size, a frame number, and a frame size according to a network channel according to some embodiments.
도 3은 일부 실시예에 의한 네트워크 채널에 따른 패킷 크기, 프레임 개수 및 프레임 크기를 결정하는 방법의 일 실시예를 나타내는 도면이다. 3 is a diagram illustrating an example of a method of determining a packet size, a frame number, and a frame size according to a network channel, according to some embodiments.
도 4는 미리 결정된 프레임 크기와 프레임 개수를 패킷 크기에 최적화 되도록 조정하는 방법에 대한 일 실시예를 나타내는 도면이다.4 is a diagram illustrating an embodiment of a method of adjusting a predetermined frame size and the number of frames to be optimized for a packet size.
도 5는 일부 실시예에 따른 손실 또는 무손실 모드를 결정하는 방법의 흐름도이다. 5 is a flowchart of a method of determining a lossy or lossless mode in accordance with some embodiments.
도 6은 복수의 네트워크 상태 파라미터의 양호도와 설정되는 비트율의 관계를 나타내는 도면이다.6 is a diagram illustrating a relationship between goodness of a plurality of network state parameters and a set bit rate.
도 7은 도 1에서의 코딩 모드/비트율 결정 모듈(140), 미디어 부호화 모듈(160), 및 미디어 패킷 생성 모듈(170)를 보다 상세하게 나타내는 블록도이다.FIG. 7 is a block diagram illustrating in detail the coding mode / bit rate determination module 140, the media encoding module 160, and the media packet generation module 170 in FIG. 1.
도 8a는 채널 모드와 비트율에 따라 미리 정의된 프레임 개수 및 프레임 크기에 따라 패킷을 생성하는 일 실시예를 나타내는 도면이다.8A is a diagram illustrating an embodiment of generating a packet according to a predefined number of frames and a frame size according to a channel mode and a bit rate.
도 8b는 입력 데이터가 오디오 데이터이고 코딩 모드가 무손실 코딩인 경우 비트스트림을 구성하는 일 실시예를 나타내는 도면이다.8B is a diagram illustrating an embodiment of configuring a bitstream when input data is audio data and a coding mode is lossless coding.
도 9는 미디어 타입에 따른 수신단(950)의 입력 버퍼 컨트롤 방법을 나타낸 도면이다.9 illustrates an input buffer control method of the receiving end 950 according to a media type.
도 10은 일부 실시예서의 수신단에서 입력된 패킷을 처리하고 복호화하는 데이터 재생 장치(1000)에 대한 개략적인 블록도이다.10 is a schematic block diagram of a data reproducing apparatus 1000 for processing and decoding a packet input at a receiving end of some embodiments.
도 11은 기존의 데이터 단순 반복시 발생하는 위상 불일치나 불연속점의 문제점을 나타내는 도면이다.FIG. 11 is a diagram illustrating a problem of phase mismatch or discontinuity that occurs during simple data repetition.
도 12는 에러 은닉을 위해 사용되는 반복 데이터 생성 방법의 일 실시예로서 첫번째 에러 프레임에서 중첩 및 가산 방법을 적용하는 과정을 나타내는 도면이다.12 is a diagram illustrating a process of applying a superposition and addition method in a first error frame as an embodiment of a method of generating repetitive data used for error concealment.
도 13a는 반복 데이터의 한쪽 끝에서 중첩 및 가산 방법을 적용하는 과정을 나타내는 도면이다.13A is a diagram illustrating a process of applying an overlapping and adding method at one end of the repetitive data.
도 13b는 반복 데이터의 다른쪽 끝에서 중첩 및 가산 방법을 적용하는 과정을 나타내는 도면이다.13B is a diagram illustrating a process of applying an overlapping and adding method at the other end of the repetitive data.
도 14는 일부 실시예에 따른 수정된 반복 버퍼를 이용한 에러 은닉 방법을 나타내는 도면이다.14 is a diagram illustrating an error concealment method using a modified iteration buffer according to some embodiments.
도 15는 일부 실시예에 따른 데이터 전송 장치(100)가 데이터 재생 장치(1000)에게 오디오 데이터를 제공하는 예시를 나타내는 도면이다.FIG. 15 is a diagram illustrating an example in which the data transmission apparatus 100 provides audio data to the data reproduction apparatus 1000 according to some embodiments.
도 16은 일부 실시예에 따른 데이터 전송 장치(100)가 오디오 데이터를 데이터 재생 장치(1000)에게 제공하는 방법의 흐름도이다.16 is a flowchart of a method of providing, by the data transmission device 100, the audio data to the data reproduction device 1000 according to some embodiments.
도 17은 일부 실시예에 따른 데이터 전송 장치(100)가 현재 오디오 프레임을 압축하여 데이터 재생 장치(1000)에게 전송하는 방법의 흐름도이다.17 is a flowchart illustrating a method of compressing a current audio frame and transmitting the current audio frame to the data reproducing apparatus 1000 according to some embodiments.
도 18은 일부 실시예에 따른 데이터 전송 장치(100)가 오디오 프레임을 관리하는 방법의 흐름도이다.18 is a flowchart of a method of managing an audio frame by the data transmission apparatus 100 according to some embodiments.
도 19는 일부 실시예에 따른 데이터 재생 장치(1000)가 데이터 전송 장치(100)로부터 수신된 오디오 프레임을 저장하고 관리하는 방법의 흐름도이다.19 is a flowchart of a method of storing and managing an audio frame received from the data transmission apparatus 100 by the data reproducing apparatus 1000, according to some embodiments.
도 20 및 도 21은 일부 실시 예에 따른 데이터 전송 장치(100)의 블록도이다.20 and 21 are block diagrams of a data transmission apparatus 100 according to some embodiments.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제 1 측면은, 적어도 하나의 이전 오디오 프레임을 저장하는 메모리; 상기 제 1 디바이스에 입력된 오디오 신호를 복수의 오디오 프레임으로 분할하고, 상기 복수의 오디오 프레임 중 현재 오디오 프레임과 상기 제1 디바이스의 메모리에 기 저장된 상기 적어도 하나의 이전 오디오 프레임을 비교하며, 상기 기 저장된 이전 오디오 프레임과 현재 오디오 프레임의 유사도에 기초하여 상기 기 저장된 이전 오디오 프레임들 중 하나를 선택하는 제어부; 및 상기 선택된 이전 오디오 프레임의 식별 값을 상기 제 2 디바이스에게 전송하는 통신부;를 포함하는 제2 디바이스에게 오디오 신호를 제공하는 제1 디바이스를 제공할 수 있다.As a technical means for achieving the above-described technical problem, a first aspect of the present disclosure, a memory for storing at least one previous audio frame; Splitting an audio signal input to the first device into a plurality of audio frames, comparing a current audio frame among the plurality of audio frames with the at least one previous audio frame previously stored in a memory of the first device, A controller for selecting one of the previously stored previous audio frames based on a similarity between the stored previous audio frame and the current audio frame; And a communication unit which transmits an identification value of the selected previous audio frame to the second device. The first device may provide an audio signal to the second device.
또한, 상기 제어부는, 상기 기 저장된 이전 오디오 프레임과 상기 현재 오디오 프레임의 상기 유사도가 기 설정된 임계치보다 큼에 따라, 상기 기 저장된 이전 오디오 프레임 중 하나를 선택할 수 있다.The controller may select one of the previously stored previous audio frames according to the similarity between the previously stored previous audio frame and the current audio frame being greater than a preset threshold.
또한, 상기 제어부는, 상기 기 저장된 이전 오디오 프레임과 상기 현재 오디오 프레임의 상기 유사도가 기 설정된 임계치보다 작음에 따라, 상기 현재 오디오 프레임을 압축하며, 상기 통신부는, 상기 압축된 현재 오디오 프레임을 상기 제 2 디바이스에게 전송할 수 있다The controller may be further configured to compress the current audio frame as the similarity between the previously stored previous audio frame and the current audio frame is smaller than a preset threshold, and the communication unit may further include compressing the compressed current audio frame. We can send to 2 devices
또한, 상기 제어부는, 상기 압축된 현재 오디오 프레임이 상기 제 2 디바이스에게 성공적으로 전송됨에 따라, 상기 기 저장된 이전 오디오 프레임 중 적어도 하나를 삭제하고, 상기 기 저장된 이전 오디오 프레임 중 적어도 하나가 삭제됨에 따라, 상기 현재 오디오 프레임을 상기 메모리에 저장할 수 있다.The controller may be configured to delete at least one of the previously stored previous audio frames and to delete at least one of the previously stored previous audio frames as the compressed current audio frame is successfully transmitted to the second device. The current audio frame may be stored in the memory.
또한, 상기 제어부는, 상기 기 저장된 이전 오디오 프레임 중에서 상기 메모리에 먼저 저장된 이전 오디오 프레임을 삭제할 수 있다.The controller may delete the previous audio frame stored first in the memory among the previously stored previous audio frames.
또한, 상기 제어부는, 상기 기 저장된 이전 오디오 프레임의 식별 값이 상기 제 2 디바이스에게 전송된 횟수에 기초하여, 상기 기 저장된 이전 오디오 프레임 중 하나를 삭제할 수 있다.The controller may delete one of the previously stored previous audio frames based on the number of times the identification value of the previously stored previous audio frame is transmitted to the second device.
또한, 상기 통신부는, 상기 선택된 이전 오디오 프레임의 식별 값의 전송이 실패됨에 따라, 상기 선택된 이전 오디오 프레임의 식별값을 기 설정된 전송 제한 시간 내에 상기 제 2 디바이스에게 재전송할 수 있다.The communication unit may retransmit the identification value of the selected previous audio frame to the second device within a preset transmission time limit as the transmission of the identification value of the selected previous audio frame fails.
또한, 상기 제어부는, 상기 기 설정된 전송 제한 시간 내에, 상기 선택된 이전 오디오 프레임의 식별 값의 전송이 실패됨에 따라, 다음 오디오 프레임의 전송 방법을 결정할 수 있다.The controller may determine a method of transmitting a next audio frame as transmission of the identification value of the selected previous audio frame fails within the preset transmission time limit.
또한, 본 개시의 제 2 측면은, 상기 제 1 디바이스에 입력된 오디오 신호를 복수의 오디오 프레임으로 분할하는 단계; 상기 복수의 오디오 프레임 중 현재 오디오 프레임과 상기 제 1 디바이스의 메모리에 기 저장된 적어도 하나의 이전 오디오 프레임을 비교하는 단계; 상기 기 저장된 이전 오디오 프레임과 중 상기 현재 오디오 프레임의 유사도에 기초하여, 상기 기 저장된 이전 오디오 프레임 중 하나를 선택하는 단계; 및 상기 선택된 이전 오디오 프레임의 식별 값을 상기 제 2 디바이스에게 전송하는 단계;를 포함하는 제 1 디바이스가 제 2 디바이스에게 오디오 신호를 제공하는 방법을 제공할 수 있다.In addition, a second aspect of the present disclosure, the step of dividing the audio signal input to the first device into a plurality of audio frames; Comparing a current audio frame among the plurality of audio frames with at least one previous audio frame previously stored in a memory of the first device; Selecting one of the previously stored previous audio frames based on a similarity of the current audio frame among the previously stored previous audio frames; And transmitting an identification value of the selected previous audio frame to the second device. The first device may provide a method for providing an audio signal to a second device.
또한, 상기 선택된 이전 오디오 프레임은, 상기 제 2 디바이스에게 성공적으로 전송됨에 따라, 상기 메모리 및 상기 제 2 디바이스의 메모리에 각각 저장될 수 있다.In addition, the selected previous audio frame may be stored in the memory and the memory of the second device, respectively, as successfully transmitted to the second device.
또한, 상기 기 저장된 이전 오디오 프레임 중 하나를 선택하는 단계는, 상기 기 저장된 이전 오디오 프레임과 상기 현재 오디오 프레임의 유사도가 기 설정된 임계치보다 큼에 따라, 상기 기 저장된 이전 오디오 프레임 중 하나를 선택할 수 있다.The selecting of one of the previously stored previous audio frames may select one of the previously stored previous audio frames according to a similarity between the previously stored previous audio frame and the current audio frame being greater than a preset threshold. .
또한, 상기 방법은, 상기 기 저장된 이전 오디오 프레임과 상기 현재 오디오 프레임의 유사도가 기 설정된 임계치보다 작음에 따라, 상기 현재 오디오 프레임을 압축하는 단계; 및 상기 압축된 현재 오디오 프레임을 상기 제 2 디바이스에게 전송하는 단계;를 더 포함할 수 있다.The method may further include: compressing the current audio frame according to a similarity between the previously stored previous audio frame and the current audio frame being less than a preset threshold; And transmitting the compressed current audio frame to the second device.
또한, 상기 방법은, 상기 압축된 현재 오디오 프레임이 상기 제 2 디바이스에게 성공적으로 전송됨에 따라, 상기 기 저장된 이전 오디오 프레임 중 적어도 하나를 삭제하는 단계; 및 상기 기 저장된 이전 오디오 프레임 중 적어도 하나가 삭제됨에 따라, 상기 현재 오디오 프레임을 상기 메모리에 저장하는 단계;를 더 포함할 수 있다.The method may further include deleting at least one of the previously stored previous audio frames as the compressed current audio frame is successfully transmitted to the second device; And storing the current audio frame in the memory as at least one of the previously stored previous audio frames is deleted.
또한, 상기 기 저장된 이전 오디오 프레임 중 하나를 삭제하는 단계는, 상기 기 저장된 이전 오디오 프레임 중 상기 메모리에 먼저 저장된 이전 오디오 프레임을 삭제할 수 있다.In the deleting of one of the previously stored previous audio frames, the previous audio frame previously stored in the memory may be deleted.
또한, 상기 기 저장된 이전 오디오 프레임 중 하나를 삭제하는 단계는, 상기 기 저장된 이전 오디오 프레임의 식별 값이 상기 제 2 디바이스에게 전송된 횟수에 기초하여, 상기 기 저장된 이전 오디오 프레임 중 하나를 삭제할 수 있다.The deleting of one of the previously stored previous audio frames may include deleting one of the previously stored previous audio frames based on the number of times the identification value of the previously stored previous audio frame is transmitted to the second device. .
또한, 상기 방법은, 상기 선택된 이전 오디오 프레임의 식별 값의 전송이 실패됨에 따라, 상기 선택된 이전 오디오 프레임의 식별값을 기 설정된 전송 제한 시간 내에 상기 제 2 디바이스에게 재전송하는 단계;를 더 포함할 수 있다.The method may further include retransmitting the identification value of the selected previous audio frame to the second device within a preset transmission time limit as the transmission of the identification value of the selected previous audio frame fails. have.
또한, 상기 방법은, 상기 기 설정된 전송 제한 시간 내에, 상기 선택된 이전 오디오 프레임의 식별 값의 전송이 실패됨에 따라, 다음 오디오 프레임의 전송 방법을 결정하는 단계;를 더 포함할 수 있다.The method may further include determining a transmission method of a next audio frame as transmission of the identification value of the selected previous audio frame fails within the preset transmission time limit.
또한, 본 개시의 제 3 측면은, 상기 다른 디바이스로부터 상기 다른 디바이스에 입력된 오디오 신호에 관련된 데이터를 수신하는 통신부; 상기 수신된 데이터의 종류를 결정하고, 상기 결정된 데이터의 종류가 기 저장된 오디오 프레임의 식별값이면, 상기 식별값에 대응되는 오디오 프레임을 상기 디바이스의 메모리로부터 추출하고, 상기 결정된 데이터의 종류가 상기 다른 디바이스에 입력된 오디오 신호로부터 분할된 현재 오디오 프레임의 비트스트림이면, 상기 비트스트림을 현재 오디오 프레임으로 신장하는 제어부; 및 상기 추출된 오디오 프레임의 오디오 신호 또는 상기 신장된 현재 오디오 프레임의 오디오 신호를 출력하는 출력부;를 포함하는 다른 디바이스로부터 오디오 신호를 수신하는 디바이스를 제공할 수 있다.In addition, a third aspect of the present disclosure, the communication unit for receiving data related to the audio signal input to the other device from the other device; If the type of the received data is determined, and the type of the determined data is an identification value of a pre-stored audio frame, the audio frame corresponding to the identification value is extracted from the memory of the device, and the type of the determined data is the other. A control unit that extends the bitstream to the current audio frame if it is a bitstream of the current audio frame divided from the audio signal input to the device; And an output unit configured to output an audio signal of the extracted audio frame or an audio signal of the extended current audio frame.
또한, 본 개시의 제 4 측면은, 상기 다른 디바이스로부터 상기 다른 디바이스에 입력된 오디오 신호에 관련된 데이터를 수신하는 단계; 상기 수신된 데이터의 종류를 결정하는 단계; 상기 결정된 데이터의 종류가 기 저장된 오디오 프레임의 식별값이면, 상기 식별값에 대응되는 오디오 프레임을 상기 디바이스의 메모리로부터 추출하는 단계; 상기 결정된 데이터의 종류가 상기 다른 디바이스에 입력된 오디오 신호로부터 분할된 현재 오디오 프레임의 비트스트림이면, 상기 비트스트림을 현재 오디오 프레임으로 신장하는 단계; 및 상기 추출된 오디오 프레임의 오디오 신호 또는 상기 신장된 현재 오디오 프레임의 오디오 신호를 출력하는 단계;를 포함하는 디바이스가 다른 디바이스로부터 오디오 신호를 수신하는 방법을 제공할 수 있다.Further, a fourth aspect of the present disclosure may include receiving data related to an audio signal input to the other device from the other device; Determining a type of the received data; Extracting an audio frame corresponding to the identification value from a memory of the device when the type of the determined data is an identification value of a pre-stored audio frame; Extending the bitstream to the current audio frame if the type of the determined data is a bitstream of a current audio frame divided from an audio signal input to the other device; And outputting an audio signal of the extracted audio frame or an audio signal of the extended current audio frame. The device may include a method of receiving an audio signal from another device.
또한, 본 개시의 제 5 측면은, 제 2 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.Further, the fifth aspect of the present disclosure can provide a computer readable recording medium having recorded thereon a program for executing the method of the second aspect on a computer.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention, and methods of achieving them will be apparent with reference to the embodiments described below in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various different forms, and only the embodiments make the disclosure of the present invention complete, and the general knowledge in the art to which the present invention belongs. It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다. Terms used herein will be briefly described and the present invention will be described in detail.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the present invention have been selected as widely used general terms as possible in consideration of the functions in the present invention, but this may vary according to the intention or precedent of the person skilled in the art, the emergence of new technologies and the like. In addition, in certain cases, there is also a term arbitrarily selected by the applicant, in which case the meaning will be described in detail in the description of the invention. Therefore, the terms used in the present invention should be defined based on the meanings of the terms and the contents throughout the present invention, rather than the names of the simple terms.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.When any part of the specification is to "include" any component, this means that it may further include other components, except to exclude other components unless otherwise stated. In addition, the term "part" as used herein refers to a hardware component, such as software, FPGA or ASIC, and "part" plays certain roles. However, "part" is not meant to be limited to software or hardware. The “unit” may be configured to be in an addressable storage medium and may be configured to play one or more processors. Thus, as an example, a "part" refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, Subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables. The functionality provided within the components and "parts" may be combined into a smaller number of components and "parts" or further separated into additional components and "parts".
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention.
도 1은 일부 실시예에서의 무선 네트워크 상황에 따른 비트율(bit-rate) 및 지연(latency)을 컨트롤하고 전송될 패킷(packet)을 구성하는 데이터 전송 장치에 대한 개략적인 블록도이다. 도 1의 블록도는 데이터 전송 장치 뿐만 아니라 데이터 전송 방법을 설명함에 사용될 수도 있다.FIG. 1 is a schematic block diagram of an apparatus for controlling a bit rate and latency and configuring a packet to be transmitted according to a wireless network situation in some embodiments. The block diagram of FIG. 1 may be used to describe not only a data transmission apparatus but also a data transmission method.
도 1을 참조하면, 데이터 전송 장치(100)는 채널 모드 초기화 모듈(110), 무선 네트워크 상태 분석 모듈(120), 미디어 타입 분석 모듈(130), 코딩 모드/비트율 결정 모듈(140), 패킷화 조건 제어 모듈(150), 미디어 부호화 모듈(160), 및 미디어 패킷 생성 모듈(170)을 포함한다. 여기서 '모듈'은 '부'로 사용될 수도 있다. 예를 들어 채널 모드 초기화 모듈(110)은 채널 모드 초기화부(110)로 사용될 수 있다. 식별 번호 120 내지 170에 대해서도 마찬가지이다. 또한, 미디어 부호화 모듈(160)은 미디어 부호화기(160)로 사용될 수 있다. 미디어 패킷 생성 모듈(170)은 미디어 패킷 생성기(170)로 사용될 수 있다. 도 1의 블록도를 사용하여 데이터 전송 방법을 설명할 때에는, '모듈'은 '단계'로 사용될 수도 있다. 예를 들어 채널 모드 초기화 모듈(110)은 채널 모드 초기화 단계(110)로 사용될 수 있다. 식별 번호 120 내지 170에 대해서도 마찬가지이다.Referring to FIG. 1, the data transmission apparatus 100 includes a channel mode initialization module 110, a wireless network state analysis module 120, a media type analysis module 130, a coding mode / bit rate determination module 140, and packetization. Condition control module 150, media encoding module 160, and media packet generation module 170. In this case, the 'module' may be used as a 'part'. For example, the channel mode initialization module 110 may be used as the channel mode initialization unit 110. The same applies to identification numbers 120 to 170. In addition, the media encoding module 160 may be used as the media encoder 160. The media packet generation module 170 may be used as the media packet generator 170. When describing the data transmission method using the block diagram of FIG. 1, the module may be used as a step. For example, the channel mode initialization module 110 may be used as the channel mode initialization step 110. The same applies to identification numbers 120 to 170.
채널 모드 초기화(Initialize channel mode) 모듈(110)은 네트워크의 채널 모드를 설정하고 설정된 채널 모드에 따라 패킷 크기를 결정하고 결정된 크기에 맞게 부호화된 데이터의 비트율과 패킷에 넣을 부호화된 데이터 프레임의 개수를 설정한다. 실시예로서 블루투스의 경우 에러처리 수준, 패킷 구성에 따라 다양한 모드를 지원한다. 그 중 EDR(Enhanced data Rate) 모드의 경우 비대칭 모드에서 최고 2.1Mbps의 데이터 전송속도가 가능하며, BR(Basic rate) 모드의 경우 비대칭 모드에서 최고 723.2kbps의 전송이 가능하다. 따라서 선택된 채널이 지원하는 전송속도에 따라 패킷 크기가 결정된다. 패킷 크기가 결정되면 미디어 코덱(Media codec)에서 지원 가능한 비트율 별로 패킷에 들어갈 수 있는 프레임의 개수와 각 프레임의 크기를 결정한다. 수학식 1은 결정된 패킷 크기(packet size)에 따라 한 패킷에 들어갈 프레임의 개수(frame num)를 결정하는 방법에 대한 하나의 예이다. 이 때, 프레임 크기(frame size)는 미디어 코덱에서 지원 가능한 비트율에 따라 결정된다. 라운드(round) 함수는 반올림을 하는 함수이다. 예컨대, 프레임의 개수(frame num)가 자연수가 되도록 소수점 이하를 반올림할 수 있다.The initialize channel mode module 110 sets the channel mode of the network, determines the packet size according to the set channel mode, and sets the bit rate of the encoded data according to the determined size and the number of encoded data frames to be put in the packet. Set it. As an embodiment, Bluetooth supports various modes according to an error processing level and a packet configuration. Among them, EDR (Enhanced Data Rate) mode enables up to 2.1Mbps data rate in asymmetric mode, and BR (Basic rate) mode enables up to 723.2kbps transmission in asymmetric mode. Therefore, the packet size is determined according to the transmission speed supported by the selected channel. When the packet size is determined, the number of frames that can be included in the packet and the size of each frame are determined for each bit rate supported by the media codec. Equation 1 is an example of a method of determining the number of frames to be included in one packet according to the determined packet size. In this case, the frame size is determined according to the bit rate supported by the media codec. The round function is a rounding function. For example, the decimal point may be rounded down so that the number of frames is a natural number.
<수학식 1><Equation 1>
Figure PCTKR2015007014-appb-I000001
Figure PCTKR2015007014-appb-I000001
도 2는 일부 실시예에 의한 네트워크 채널에 따른 패킷 크기, 프레임 개수 및 프레임 크기를 결정하는 방법의 흐름도이다. 2 is a flowchart of a method of determining a packet size, a frame number, and a frame size according to a network channel according to some embodiments.
단계 210에서는, 네트워크의 채널 모드를 선택한다.In step 210, the channel mode of the network is selected.
단계 220에서는, 선택된 채널 모드가 지원하는 대역폭에 따라 패킷 크기를 결정한다.In step 220, the packet size is determined according to the bandwidth supported by the selected channel mode.
단계 230에서는, 단계 220에서 결정한 패킷 크기에 맞게 1 패킷에 들어갈 비트율별 프레임을 구성한다. 구체적으로 패킷에 넣을 데이터 프레임의 개수, 프레임의 크기를 설정한다.In step 230, a frame for each bit rate to be included in one packet is configured according to the packet size determined in step 220. Specifically, the number of data frames and the size of the frames to be put in the packet are set.
단계 240에서는, 패킷 크기에 맞도록 프레임 개수 및 프레임 크기를 재조정한다. 프레임 개수 및 프레임 크기의 재조정과 관련된 구체적인 설명은 이후에 도 4와 함께 후술한다.In step 240, the number of frames and the frame size are readjusted to fit the packet size. A detailed description related to the readjustment of the number of frames and the frame size will be described later with reference to FIG. 4.
단계 250에서는, 결정된 프레임 개수 및 프레임 크기를 비트율 테이블에 저장한다.In step 250, the determined frame number and frame size are stored in a bit rate table.
상술한 도 2의 방법은, 데이터 전송 장치, 프로세서 등에서 수행될 수 있고, 예를 들어, 채널 모드 초기화 모듈(110)에서 행하여질 수 있다.The method of FIG. 2 described above may be performed by a data transmission apparatus, a processor, or the like, and may be performed by the channel mode initialization module 110, for example.
도 3은 일부 실시예에 의한 네트워크 채널에 따른 패킷 크기, 프레임 개수 및 프레임 크기를 결정하는 방법의 일 실시예를 나타내는 도면이다. 3 is a diagram illustrating an example of a method of determining a packet size, a frame number, and a frame size according to a network channel, according to some embodiments.
도 3의 일부 실시예에서는 패킷의 크기가 512byte이고, 미디어 코덱에서 지원가능한 비트율이 180/229/320/352.8kbps인 경우에 각각 결정된 프레임 크기 및 개수를 나타낸다. 이러한 경우 각 비트율에 따라 결정된 데이터의 양은 네트워크 채널 모드에 따라 결정된 패킷 크기의 크기보다 크거나 작은 경우가 생기게 된다.In some embodiments of FIG. 3, the packet size is 512 bytes, and the frame size and the number are respectively determined when the bit rate supported by the media codec is 180/229/320 / 352.8 kbps. In this case, the amount of data determined according to each bit rate may be larger or smaller than the size of the packet size determined according to the network channel mode.
도 4는 미리 결정된 프레임 크기와 프레임 개수를 패킷 크기에 최적화 되도록 조정하는 방법에 대한 일 실시예를 나타내는 도면이다. 도 4는 상술한 도 2의 단계 240에서 행하여지는 처리를 구체적으로 설명하는 일 실시예가 될 수 있다.4 is a diagram illustrating an embodiment of a method of adjusting a predetermined frame size and the number of frames to be optimized for a packet size. FIG. 4 may be an embodiment to specifically describe the processing performed in step 240 of FIG. 2 described above.
도 4에 나타낸 바와 같이, 부호화된 프레임의 데이터 양이 패킷 크기보다 작게 되면, 그만큼 빈 공간, 예컨대, 잔여 데이터 영역(R)이 생기게 되고 그만큼 데이터를 보낼 수 없기 때문에 데이터 공간을 낭비하게 된다. 이러한 비효율이 발생하지 않도록 패킷 크기에 꼭 맞도록 부호화된 데이터 프레임의 개수, 프레임 크기와 비트율을 조정한다. 프레임 크기를 L 이라고 하고, 1 패킷 내의 프레임 개수를 K 라고 하고, 잔여 데이터 영역의 크기를 R 이라고 하면, 조정된 프레임의 길이 L'는 L+R/K 가 될 수 있다. 프레임 크기의 조정 외에 프레임의 개수, 비트율을 조정할 수도 있다.As shown in Fig. 4, when the data amount of the encoded frame is smaller than the packet size, an empty space, for example, a residual data area R is created, and data space is wasted because the data cannot be transmitted as much. To prevent this inefficiency, the number of encoded data frames, the frame size, and the bit rate are adjusted to fit the packet size. If the frame size is L, the number of frames in one packet is K, and the size of the remaining data area is R, the adjusted length L 'of the frame can be L + R / K. In addition to adjusting the frame size, the number of frames and the bit rate may be adjusted.
또한 부호화된 프레임의 데이터 양이 패킷 크기를 초과하게 되면, 예컨대, 초과 데이터 영역(R)이 존재할 경우, 초과한 프레임(도 4의 경우 frame 5)을 제외하거나 부호화된 프레임을 쪼개어 다음 패킷에서 전송하게 된다. 이러한 경우 수신단에서 데이터를 복호화할때 1 패킷 만큼의 지연이 발생하게 되므로 부호화된 프레임이 조각(fragment)이 나지 않도록 프레임의 개수, 프레임의 크기 및 비트율을 조절해준다. 프레임 크기를 L 이라고 하고, 1 패킷 내의 프레임 개수를 K 라고 하고, 초과 데이터 영역의 크기를 R 이라고 하면, 조정된 프레임의 길이 L'는 L-R/K 가 될 수 있다. 프레임 크기의 조정 외에 프레임의 개수, 비트율을 조정할 수도 있다.In addition, if the data amount of the encoded frame exceeds the packet size, for example, when the excess data region R exists, the excess frame (frame 5 in FIG. 4) is excluded or the encoded frame is split and transmitted in the next packet. Done. In this case, since a delay of 1 packet is generated when the receiving end decodes the data, the number of frames, the size of the frame, and the bit rate are adjusted so that the encoded frame is not fragmented. If the frame size is L, the number of frames in one packet is K, and the size of the excess data area is R, the adjusted length L 'of the frame can be L-R / K. In addition to adjusting the frame size, the number of frames and the bit rate may be adjusted.
상술한 바와 같이 결정된 프레임 개수와 그에 따른 비트율 정보는 도 1에 나타낸 바와 같이, 코딩 모드/비트율 결정(bit-rate decision) 모듈(140)로 전달된다.The number of frames and the bit rate information determined as described above are transmitted to the coding mode / bit-rate decision module 140 as shown in FIG. 1.
채널 모드 초기화 모듈(110)의 다른 실시예로서 네트워크의 채널 모드를 설정하고 설정된 채널 모드에 따라 패킷 크기를 결정하고 결정된 크기에 맞게 멀티미디어 데이터의 손실 또는 무손실 코딩 모드를 결정할 수 있다. 코딩에는 압축이 포함될 수 있다. 예를 들어, 손실 코딩에는 손실 압축이 포함될 수 있다. 또한, 무손실 코딩에는 무손실 압축이 포함될 수 있다. 선택된 네트워크 채널의 대역폭이 소정 폭 이상인 경우, 채널 모드 초기화 모듈(110)은 무손실 코딩 모드에 따른 프레임 개수 및 프레임 크기를 비트율 테이블에 추가한다.As another embodiment of the channel mode initialization module 110, a channel mode of a network may be set, a packet size may be determined according to the set channel mode, and a lossy or lossless coding mode of multimedia data may be determined according to the determined size. Coding may include compression. For example, lossy coding may include lossy compression. Lossless coding may also include lossless compression. If the bandwidth of the selected network channel is greater than or equal to a predetermined width, the channel mode initialization module 110 adds the frame number and frame size according to the lossless coding mode to the bit rate table.
도 5는 일부 실시예에 따른 손실 또는 무손실 모드를 결정하는 방법의 흐름도이다. 5 is a flowchart of a method of determining a lossy or lossless mode in accordance with some embodiments.
단계 510에서는, 네트워크의 채널 모드를 선택한다.In step 510, the channel mode of the network is selected.
단계 520에서는, 선택된 채널 모드가 지원하는 대역폭에 따라 패킷 크기를 결정한다.In operation 520, the packet size is determined according to the bandwidth supported by the selected channel mode.
단계 530에서는, 단계 520에서 결정한 패킷 크기가 데이터 임계값(Threshold)보다 큰지 판단한다. 데이터 임계값은 무손실 코덱을 적용하기 위해 필요한 최소 데이터 양이다.In step 530, it is determined whether the packet size determined in step 520 is greater than a data threshold. The data threshold is the minimum amount of data needed to apply a lossless codec.
단계 530의 판단 결과, 패킷 크기가 데이터 임계값보다 크지 않을 경우, 무손실 코덱을 적용할 수 없다. 따라서, 단계 532에서, 패킷 크기에 맞게 1 패킷에 들어갈 비트율별 프레임을 구성한다. 구체적으로 패킷에 넣을 데이터 프레임의 개수와 프레임의 크기를 설정한다.As a result of the determination in step 530, if the packet size is not larger than the data threshold value, the lossless codec cannot be applied. Therefore, in step 532, a frame for each bit rate to be included in one packet is configured according to the packet size. Specifically, the number of data frames and the size of the frame to be put in the packet are set.
단계 534에서는, 패킷 크기에 맞도록 프레임 개수 및 프레임 크기를 재조정한다. 프레임 개수 및 프레임 크기의 재조정과 관련하여, 도 4와 함께 앞에서 설명하였다.In step 534, the number of frames and the frame size are readjusted to fit the packet size. Regarding the readjustment of the number of frames and the frame size, the foregoing description is provided with reference to FIG. 4.
단계 530의 판단 결과, 패킷 크기가 데이터 임계값보다 큰 경우, 무손실 코덱을 적용할 수 있다. 따라서, 단계 536에서, 출력 비트율 정보에 무손실 코딩 모드를 추가한다.As a result of the determination in step 530, if the packet size is larger than the data threshold, a lossless codec may be applied. Thus, in step 536, a lossless coding mode is added to the output bit rate information.
단계 540에서는, 코딩 모드와 비트율 결정을 위한 정보를 생성한다.In step 540, information for determining a coding mode and a bit rate is generated.
단계 550에서는, 비트율 테이블에 비트율 정보를 저장한다. 도 5에 도시된 바와 같이 비트율 정보를 저장하는 테이블은 각각의 비트율 1, 2, …, N 또는 무손실 코딩 모드에 따라, 프레임 크기와 프레임 개수에 관한 정보를 저장한다.In step 550, the bit rate information is stored in the bit rate table. As shown in Fig. 5, a table for storing bit rate information includes respective bit rates 1, 2,... According to the N or the lossless coding mode, information about the frame size and the number of frames is stored.
상술한 도 5의 방법은, 데이터 전송 장치, 프로세서 등에서 수행될 수 있고, 예를 들어, 도 1의 채널 모드 초기화 모듈(110), 코딩 모드/비트율 결정 모듈(140)에서 행하여질 수 있다.The aforementioned method of FIG. 5 may be performed by a data transmission apparatus, a processor, or the like, and may be performed by, for example, the channel mode initialization module 110 and the coding mode / bit rate determination module 140 of FIG. 1.
여기서 생성된 코딩 모드, 프레임 크기 및 프레임 개수에 대한 테이블은 코딩 모드/비트율 결정 모듈(140)에서 미디어 인코더의 코딩 방법을 결정하는데 사용된다.The generated table of coding modes, frame sizes and number of frames is used to determine the coding method of the media encoder in the coding mode / bit rate determination module 140.
도 1의 무선 네트워크 상태 분석(Analysis wireless network status) 모듈(120)은 무선 네트워크 환경에 따른 정보를 분석한다. 이때 사용되는 정보 중 대표적인 예로 RSSI(Receiver Signal Strength index), LQI(Link Quality Indicator), AFH(Adaptive Frequency Hopping) 채널 마스킹(channel masking) 정보 등이 있다. RSSI는 수신 신호의 세기를 나타낸다. LQI는 연결된 통신상태의 품질을 나타내는 파라미터로 BER(bit error rate)을 0~255 사이의 정수로 표현한 값이다. AFH(Adaptive Frequency Hopping)는 블루투스에서 사용하는 호핑(hopping) 방식으로서, 사용가능한 79개 채널 사이를 무작위로 호핑하며 사용 불가능한 채널을 마스킹한다. 이때 네트워크 환경이 좋으면 마스킹 채널의 개수는 적다. 하지만, 간섭이 심할 경우 마스킹 채널의 개수는 많아진다. 상술한 파라미터를 이용하여 복수의 무선 네트워크가 공존하는 경우 채널간 간섭에 따른 영향이나 장애물, 벽 등의 회절에 의해 발생하는 네트워크 상황을 체크할 수 있다. 또한 동일 네트워크를 사용하는 무선 주변장치의 개수 등의 정보를 활용한다. 주변장치가 동일 네트워크를 이용하게 되면 장치의 개수가 증가할수록 디바이스 별로 사용 가능한 대역폭은 줄어들게 되고 비트율은 줄어든다. 채널의 상태를 나타내는 각각의 정보들은 비트율 결정 모듈(140)로 전달되며 비트율을 결정하는데 사용된다. The analysis wireless network status module 120 of FIG. 1 analyzes information according to a wireless network environment. At this time, a representative example of information used includes a receiver signal strength index (RSSI), a link quality indicator (LQI), and adaptive frequency hopping (AFH) channel masking information. RSSI indicates the strength of the received signal. LQI is a parameter that indicates the quality of the connected communication state and expresses the BER (bit error rate) as an integer between 0 and 255. Adaptive Frequency Hopping (AFH) is a hopping scheme used in Bluetooth and randomly hops between 79 available channels and masks unavailable channels. At this time, if the network environment is good, the number of masking channels is small. However, when the interference is severe, the number of masking channels increases. When a plurality of wireless networks coexist using the above-described parameters, it is possible to check the network situation caused by the influence of interference between channels, diffraction of obstacles, walls and the like. It also utilizes information such as the number of wireless peripherals on the same network. As peripherals use the same network, as the number of devices increases, the available bandwidth per device decreases and the bit rate decreases. Each piece of information indicative of the state of the channel is passed to the bit rate determination module 140 and used to determine the bit rate.
도 1의 코딩 모드/비트율 결정(coding mode/bit-rate decision) 모듈(140)은 무선 네트워크 상태 분석 모듈(120)에서 분석한 네트워크 상태 파라미터를 이용하여 미디어 인코더의 비트율을 선택한다. The coding mode / bit-rate decision module 140 of FIG. 1 selects a bit rate of the media encoder using the network state parameter analyzed by the wireless network state analysis module 120.
도 6은 복수의 네트워크 상태 파라미터의 양호도와 설정되는 비트율의 관계를 나타내는 도면이다. 네트워크 상태 파라미터에 따른 비트율 설정은 예를 들어, 도 1의 코딩 모드/비트율 결정 모듈(140)에서 행하여질 수 있다.6 is a diagram illustrating a relationship between goodness of a plurality of network state parameters and a set bit rate. Bit rate setting according to the network state parameter may be made, for example, in the coding mode / bit rate determination module 140 of FIG. 1.
도 6과 같이 전달된 네트워크 상태 파라미터는 2개 이상의 조합으로 비트율을 결정하게 된다. 복수의 파라미터를 분석하여 모든 파라미터의 값이 좋을수록 네트워크 환경을 강전계로 판단하고 높은 비트율이 선택된다. 반대로 비교하는 네트워크 상태 파라미터의 값이 나쁘다면 네트워크 환경을 약전계로 판단하고 낮은 비트율이 선택된다. RSSI의 경우, 수신 신호의 세기가 강할수록 양호한 값으로 판단할 수 있다. LQI의 경우, 연결된 통신상태의 품질을 나타내는 파라미터로 BER(bit error rate)에 따라 양호도를 판단할 수 있다. AFH 마스킹 채널의 경우, 마스킹 채널의 수가 적을수록 양호한 값으로 판단할 수 있다. 연결된 장치 개수의 경우, 장치 개수가 적을수록 양호한 값으로 판단할 수 있다.The network state parameter transmitted as shown in FIG. 6 determines the bit rate in a combination of two or more. By analyzing a plurality of parameters, the better the values of all the parameters, the more the network environment is determined by the strong electric field and the higher the bit rate is selected. On the contrary, if the value of the network condition parameter to be compared is bad, the network environment is regarded as a weak electric field, and a low bit rate is selected. In the case of RSSI, the stronger the received signal, the better it can be determined. In the case of LQI, goodness may be determined according to a bit error rate (BER) as a parameter representing the quality of a connected communication state. In the case of the AFH masking channel, the smaller the number of the masking channels, the better. For the number of connected devices, the smaller the number of devices, the better the value.
선택된 비트율 정보는 미디어 부호화(Media Encoder) 모듈(160)로 전달되고, 미디어 부호화 모듈(160)은 선택된 비트율에 따라 입력 데이터를 부호화한다.The selected bit rate information is transmitted to the media encoder module 160, and the media encoding module 160 encodes input data according to the selected bit rate.
코딩 모드/비트율 결정 모듈(140)의 다른 실시예에 따르면, 네트워크 상태 파라미터를 이용하여 네트워크 채널환경을 파악하고, 그 결과에 따라 손실(lossy) 또는 무손실(lossless) 코딩 모드를 선택할 수 있다. 분석된 네트워크 채널 환경이 강전계이고 채널모드에서 무손실 코딩을 지원 가능하다면 코딩 모드/비트율 결정 모듈(140)은 무손실 코딩을 선택하고 이 정보를 미디어 부호화 모듈(160)에 전달한다. 무손실 코딩을 지원하지 않는다면, 네트워크 상태 분석 결과에 따라 강전계일수록 높은 비트율을 선택하고, 약전계일수록 낮은 비트율을 선택한다. 또한 선택된 비트율 정보 및 비트율에 따라 결정된 프레임 개수, 프레임 크기에 대한 정보는 패킷화 조건 제어(Control packetizing condition) 모듈(150)로 전달되며 부호화된 프레임 데이터를 이용하여 패킷을 생성하는데 사용된다.According to another embodiment of the coding mode / bit rate determination module 140, the network channel environment may be identified using network state parameters, and a lossy or lossless coding mode may be selected according to the result. If the analyzed network channel environment is a strong electric field and can support lossless coding in channel mode, the coding mode / bit rate determination module 140 selects lossless coding and transfers this information to the media encoding module 160. If no lossless coding is supported, the higher the bit rate, the weaker field, and the lower bit rate are selected, according to the network state analysis results. In addition, the information on the selected bit rate information, the number of frames and the frame size determined according to the bit rate is transmitted to the control packetizing condition module 150 and used to generate a packet using the encoded frame data.
미디어 부호화 모듈(160)은 입력된 코딩 모드(손실 또는 무손실)와 결정된 비트율에 따라 입력 신호의 부호화를 수행하고 패킷 생성을 위하여 부호화된 데이터를 미디어 패킷 생성(Media packet generator) 모듈(170)로 전송한다. The media encoding module 160 encodes the input signal according to the input coding mode (lossy or lossless) and the determined bit rate, and transmits the encoded data to the media packet generator module 170 for packet generation. do.
도 7은 도 1에서의 코딩 모드/비트율 결정 모듈(140), 미디어 부호화 모듈(160), 및 미디어 패킷 생성 모듈(170)를 보다 상세하게 나타내는 블록도이다. 도 7에 의하여 코딩 모드와 비트율에 따른 미디어 부호화 모듈(160)의 동작 방법을 설명한다. FIG. 7 is a block diagram illustrating in detail the coding mode / bit rate determination module 140, the media encoding module 160, and the media packet generation module 170 in FIG. 1. 7 illustrates a method of operating the media encoding module 160 according to a coding mode and a bit rate.
코딩 모드/비트율 결정 모듈(140)은 비트율 결정 모듈(142)과 코딩 모드 결정 모듈(144)로 나누어질 수 있다.The coding mode / bit rate determination module 140 may be divided into a bit rate determination module 142 and a coding mode determination module 144.
미디어 부호화 모듈(160)은 기존의 손실 부호화를 수행하는 손실 부호화 (Lossy encoder) 모듈(162)과 무손실 부호화를 위한 잔차 부호화(Residual encoder) 모듈(166)로 나누어진다. 그 이유는 부호화된 비트스트림(bitstream)을 수신단에서 복호화할 때 기존 코덱과의 호환성을 유지하기 위함이다. 따라서, 미디어 부호화 모듈(160)은 입력된 비트율에 따라 기존의 손실 부호화 모듈(162)을 이용하여 부호화를 수행하며, 코딩모드가 무손실 코딩일 경우 무손실 코딩을 위한 여분의 데이터를 잔차 부호화 모듈(166)을 통하여 부호화한다. 코딩 모드 결정 모듈(144)에서 손실 코딩으로 결정할 경우, 예컨대, 스위치(164)를 오프하여 잔차 부호화를 수행하지 않고, 코딩 모드 결정 모듈(144)에서 무손실 코딩으로 결정할 경우, 예컨대, 스위치(164)를 온하여 잔차 부호화를 수행한다.The media encoding module 160 is divided into a lossy encoder module 162 which performs conventional lossy coding and a residual encoder module 166 for lossless encoding. The reason for this is to maintain compatibility with existing codecs when the encoded bitstream is decoded at the receiving end. Accordingly, the media encoding module 160 performs encoding using the existing lossy coding module 162 according to the input bit rate, and when the coding mode is lossless coding, the residual encoding module 166 receives extra data for lossless coding. Encoding through). When the coding mode determination module 144 determines lossless coding, for example, when the coding mode determination module 144 determines lossless coding without turning off the switch 164 and performing residual encoding, for example, the switch 164 Turn on to perform residual encoding.
미디어 패킷 생성 모듈(170)은 부호화된 비트스트림을 이용하여 미리 정의한 패킷 구성 방법에 따라 패킷을 생성한다. The media packet generation module 170 generates a packet according to a predefined packet construction method using the encoded bitstream.
도 8a는 채널 모드와 비트율에 따라 미리 정의된 프레임 개수 및 프레임 크기에 따라 패킷을 생성하는 일 실시예를 나타내는 도면이다. 프레임의 크기와 프레임 개수는 네트워크 채널 상황과 패킷의 크기에 따라 미리 정의되어져 있기 때문에 여분의 데이터 공간이 남거나 초과하는 부분이 최소화 되도록 패킷 크기가 구성된다. 도 8a의 예에서는 비트율 1인 경우, 프레임 크기가 n, 프레임 개수가 m으로 결정되고, 패킷 데이터는 0부터 m-1 까지의 m개의 프레임을 포함하도록 구성된다.8A is a diagram illustrating an embodiment of generating a packet according to a predefined number of frames and a frame size according to a channel mode and a bit rate. Since the size of the frame and the number of frames are predefined according to the network channel situation and the packet size, the packet size is configured to minimize the excess data space remaining or excess. In the example of FIG. 8A, when the bit rate is 1, the frame size is determined as n and the number of frames is m, and the packet data is configured to include m frames from 0 to m-1.
도 8b는 입력 데이터가 오디오 데이터이고 코딩 모드가 무손실 코딩인 경우 비트스트림을 구성하는 일 실시예를 나타내는 도면이다. 무손실 코딩의 경우 기존의 부호화기와의 호환성을 고려하여 설계되어야 한다. 즉 입력 데이터를 손실 부호화 모듈(162)을 이용하여 손실 코딩을 수행하고, 무손실 코딩을 위한 여분의 데이터를 따로 부호화하여 비트스트림에 추가한다. 이렇게 함으로서 복호화기에서는 무손실 코딩을 지원하지 않는 경우에도 기존의 복호화기만을 이용하여 손실 부호화된 영역을 복호화하고 무손실 부호화된 영역은 스킵할 수 있다. 손실 부호화 영역과 무손실 부호화 영역을 구분하기 위한 정보를 비트스트림에 포함시킬 수 있다. 본 실시예에서는 비트스트림에서 무손실 부호화 영역을 구분할 수 있도록 손실 비트스트림과 무손실 비트스트림의 syncword의 값을 다르게 설정하였다.8B is a diagram illustrating an embodiment of configuring a bitstream when input data is audio data and a coding mode is lossless coding. Lossless coding should be designed considering compatibility with existing encoders. That is, lossy coding is performed on the input data using the lossy coding module 162, and extra data for lossless coding is separately encoded and added to the bitstream. In this way, even when the decoder does not support lossless coding, the lossy coded region may be decoded using only the existing decoder and the lossless coded region may be skipped. Information for distinguishing a lossy coding region and a lossless coding region may be included in the bitstream. In this embodiment, the syncword values of the lossy bitstream and the lossless bitstream are set differently to distinguish the lossless coding region from the bitstream.
도 1의 미디어 타입 분석(Analysis Media type) 모듈(130)은 송신단에서 입력 데이터의 미디어 타입(오디오 또는 비디오) 및 지연 정도를 선택한다. The analysis media type module 130 of FIG. 1 selects a media type (audio or video) and a degree of delay of input data at a transmitter.
도 9는 미디어 타입에 따른 수신단(950)의 입력 버퍼 컨트롤 방법을 나타낸 도면이다.9 illustrates an input buffer control method of the receiving end 950 according to a media type.
도 9의 단계 910에서, 미디어 타입은 입력 데이터의 정보, 메타데이터 및 미디어 플레이어에 의해 결정되거나, UI(User Interface)를 이용해 사용자가 직접 지연 정도를 선택할 수 있다. 선택된 미디어 타입은 전송되는 데이터의 지연을 결정함에 사용된다. 일반적으로 동영상과 같은 컨텐츠의 경우 오디오 또는 비디오 사이의 동기화(sync)가 매우 중요하기 때문에 지연이 없어야 한다. 그러나 오디오 데이터의 경우 약간의 지연이 발생해도 크게 문제가 되지 않는다. 일반적으로 수신단의 입력 버퍼가 크다면 지연이 상대적으로 증가한다. 그러나 에러에 대한 강인성(robustness)은 강해진다. 반대로 입력 버퍼가 작다면 지연은 덜 발생하지만 에러에 약한 특성이 있다. 따라서 입력 미디어 타입에 따라 수신단의 입력 버퍼의 크기를 조정함으로써 동기화 및 강인성을 적절히 조정할 수 있다. In operation 910 of FIG. 9, the media type may be determined by the information of the input data, the metadata, and the media player, or the user may directly select the degree of delay using a user interface (UI). The selected media type is used to determine the delay of the data transmitted. In general, for content such as video, there should be no delay because synchronization between audio or video is very important. However, in the case of audio data, a slight delay does not cause much problem. In general, if the receiver's input buffer is large, the delay is relatively increased. But the robustness to errors is strong. Conversely, if the input buffer is small, there is less delay, but the error is weak. Therefore, synchronization and robustness can be appropriately adjusted by adjusting the size of the input buffer of the receiver according to the input media type.
단계 920에서는, 단계 910에서 선택된 미디어 타입 정보 또는 지연 정보가 패킷에 삽입되어 무선 네트워크 환경에서 수신단(950)에 전달되어진다. In step 920, the media type information or delay information selected in step 910 is inserted into the packet and delivered to the receiving end 950 in a wireless network environment.
수신단(950)에서는 단계 960에서 패킷 데이터를 파싱하고,The receiving end 950 parses the packet data in step 960,
단계 970에서, 패킷으로부터 미디어 타입 정보 또는 지연 정보를 추출하고,In step 970, media type information or delay information is extracted from the packet,
단계 980에서, 추출된 정보를 이용하여 전송된 부호화된 데이터의 타입이 오디오인 경우 버퍼 크기를 크게 설정하고, 비디오 데이터가 포함된 오디오 데이터인 경우에는 버퍼 크기를 작게 설정한다.In operation 980, the buffer size is set to be large when the type of the encoded data transmitted using the extracted information is audio, and the buffer size is set to be small when the audio data including video data is included.
수신단에서는 송신단에서 전송된 패킷을 파싱(parsing)하고 미디어 비트스트림을 디코더로 전송한다. The receiver parses the packet transmitted from the transmitter and transmits the media bitstream to the decoder.
도 10은 일부 실시예서의 수신단에서 입력된 패킷을 처리하고 복호화하는 데이터 재생 장치(1000)에 대한 개략적인 블록도이다. 도 10의 블록도는 데이터 재생 장치(1000) 뿐만 아니라 데이터 재생 방법을 설명함에 사용될 수도 있다.10 is a schematic block diagram of a data reproducing apparatus 1000 for processing and decoding a packet input at a receiving end of some embodiments. The block diagram of FIG. 10 may be used to describe not only the data reproducing apparatus 1000 but also a data reproducing method.
도 10을 참조하면, 데이터 재생 장치(1000)는 패킷 파싱 모듈(1010), 미디어 타입 분석 모듈(1020), 입출력 버퍼 제어 모듈(1030), 미디어 복호화 모듈(1040), 및 에러 은닉 모듈(1050)을 포함한다. 여기서 '모듈'은 '부'로 사용될 수도 있다. 예를 들어 패킷 파싱 모듈(1010)은 패킷 파싱부(1010)로 사용될 수 있다. 식별 번호 1020 내지 1050에 대해서도 마찬가지이다. 또한, 미디어 복호화 모듈(1040)은 미디어 복호화기(1040)로 사용될 수 있다. 도 10의 블록도를 사용하여 데이터 재생 방법을 설명할 때에는, '모듈'은 '단계'로 사용될 수도 있다. 예를 들어 패킷 파싱 모듈(1010)은 패킷 파싱 단계(1010)로 사용될 수 있다. 식별 번호 1020 내지 1050에 대해서도 마찬가지이다.Referring to FIG. 10, the data reproducing apparatus 1000 may include a packet parsing module 1010, a media type analysis module 1020, an input / output buffer control module 1030, a media decoding module 1040, and an error concealment module 1050. It includes. In this case, the 'module' may be used as a 'part'. For example, the packet parsing module 1010 may be used as the packet parsing unit 1010. The same applies to identification numbers 1020 to 1050. In addition, the media decoding module 1040 may be used as the media decoder 1040. When describing the data reproducing method using the block diagram of FIG. 10, the 'module' may be used as a 'step'. For example, the packet parsing module 1010 may be used as a packet parsing step 1010. The same applies to identification numbers 1020 to 1050.
패킷 파싱(Parsing Packet) 모듈(1010)은 입력된 패킷에 대하여 디패킷타이징(de-packetizing, 패킷들로부터 데이터를 재구성)을 수행하며, 추출한 비트스트림을 미디어 복호화 모듈(1040)로 전송한다. 또한 패킷에 삽입되어 전달된 미디어 타입 정보 또는 지연 정보를 추출하여 미디어 타입 분석(Analysis Media type) 모듈(1020)에 전송한다. The parsing packet module 1010 performs de-packetizing (reconstructing data from packets) on the input packet, and transmits the extracted bitstream to the media decoding module 1040. In addition, the extracted media type information or delay information inserted in the packet is extracted and transmitted to the analysis media type module 1020.
미디어 타입 분석 모듈(1020)은 입력된 미디어 타입 및 지연정보를 분석한다.The media type analysis module 1020 analyzes the input media type and delay information.
입출력 버퍼 제어 모듈(1030)은 미디어 타입 분석 모듈(1020)에서 분석된 미디어 타입(오디오 또는 비디오) 및 지연 정보에 따라 입력 버퍼의 크기를 조절한다. The input / output buffer control module 1030 adjusts the size of the input buffer according to the media type (audio or video) and delay information analyzed by the media type analysis module 1020.
미디어 복호화 모듈(1040)은 패킷 파싱 모듈(1010)에서 추출한 비트스트림과 입출력 버퍼 제어 모듈(1030)에서 조절한 크기를 갖는 입력 버퍼를 사용하여 미디어 데이터의 복호화를 수행한다.The media decoding module 1040 decodes the media data by using the bitstream extracted by the packet parsing module 1010 and an input buffer having a size adjusted by the input / output buffer control module 1030.
에러 은닉(Error concealment) 모듈(1050)은 무선 네트워크를 통하여 부호화된 오디오 신호를 전송하는 과정에서 전송상의 오류로 인해 일부 패킷이 손실되거나 왜곡되어 복호화된 일부 프레임 신호에 오류가 발생하는 경우 이를 복원하는 모듈이다. 프레임에 발생된 오류를 적절히 처리하지 않으면 오류가 발생된 프레임 구간에서 오디오 신호의 음질이 저하되기 때문에, 복호화 장치에서는 데이터 반복(repetition) 방법에 의해 신호를 복원하게 된다. 일부 실시예에서는 낮은 복잡도로 추가적인 지연이 필요없이, 복호화된 오디오 데이터의 타임 영역에서 에러 은닉을 수행한다.The error concealment module 1050 restores a case in which some packets are lost or distorted due to a transmission error during transmission of an encoded audio signal through a wireless network. Module. If the error generated in the frame is not properly processed, the sound quality of the audio signal is degraded in the frame section in which the error occurs, so that the decoding apparatus restores the signal by a data repetition method. In some embodiments, error concealment is performed in the time domain of the decoded audio data without the need for additional delay with low complexity.
일부 실시예에서는 에러 은닉의 기본 방법으로서 낮은 복잡도를 위하여 이전에 복호화된 오디오 데이터를 이용하여, 이전 데이터를 반복(repetition)하는 방법을 이용한다. 반복되는 오디오 데이터는 정상 복호화된 데이터를 가장 최근의 데이터부터 일정 길이의 버퍼에 저장하고, 에러가 발생하게 되면 버퍼에 저장된 데이터를 읽어와 데이터를 반복함에 사용하게 된다. Some embodiments use a method of repetition of previous data using previously decoded audio data for low complexity as a basic method of error concealment. The repeated audio data stores normal decoded data in a buffer having a predetermined length from the most recent data. When an error occurs, the repeated audio data is read in the buffer and used to repeat the data.
도 11은 기존의 데이터 단순 반복시 발생하는 위상 불일치나 불연속점의 문제점을 나타내는 도면이다. 단순 데이터 반복은 도 11과 같이 반복되는 데이터의 경계에서 위상 불일치(phase-mismatching)나 불연속점을 만들게 되고 이러한 부분들은 오디오 신호의 음질을 저하시키는 원인이 된다. 또한 에러 프레임이 길어지게 되면 버퍼에 저장된 동일한 데이터가 계속하여 반복하게 되는데 이때에는 에러 은닉을 위해 반복되는 데이터 사이에서도 위와 마찬가지의 문제점들이 발생하게 된다. 따라서 이러한 문제점을 해결하기 위하여 일부 실시예에서는 에러 발생시 정상 프레임과 에러 프레임, 에러 프레임과 에러 프레임 사이의 경계에서 복원에 사용되는 버퍼에 저장된 오디오 데이터를 수정하고 이를 이용하여 중첩 및 가산(Overlap & Add) 방법을 적용하였다.FIG. 11 is a diagram illustrating a problem of phase mismatch or discontinuity that occurs during simple data repetition. Simple data repetition creates phase-mismatching or discontinuity at the boundary of repeated data as shown in FIG. 11, and these parts cause the sound quality of the audio signal to deteriorate. In addition, when the error frame is lengthened, the same data stored in the buffer is repeatedly repeated. In this case, the same problems occur among repeated data for error concealment. Therefore, in order to solve this problem, in some embodiments, audio data stored in a buffer used for restoration at a boundary between an error frame and an error frame and an error frame when an error occurs is modified and used to overlap and add (Overlap & Add). ) Method was applied.
도 12는 에러 은닉을 위해 사용되는 반복 데이터 생성 방법의 일 실시예로서 첫번째 에러 프레임에서 중첩 및 가산 방법을 적용하는 과정을 나타내는 도면이다. 반복 버퍼(Repetition Buffer)는 최근의 정상동작시에 복호화되어진 N개의 오디오 데이터를 저장하고 있다. 첫번째 에러 프레임이 발생하게 되면, 수학식 2와 같이 반복을 수행할 데이터 수만큼 반복 버퍼의 최신 데이터부터 데이터 복사를 시작한다.12 is a diagram illustrating a process of applying a superposition and addition method in a first error frame as an embodiment of a method of generating repetitive data used for error concealment. The repetition buffer stores N pieces of audio data decoded during recent normal operation. When the first error frame occurs, as shown in Equation 2, data copying starts from the latest data in the iteration buffer as many times as the number of data to be repeated.
<수학식 2><Equation 2>
Figure PCTKR2015007014-appb-I000002
Figure PCTKR2015007014-appb-I000002
첫번째 에러 프레임 이후부터는 반복 버퍼로부터 복사할 데이터 개수만큼 순차적으로 데이터를 복사하고 버퍼의 판독 포인터(read pointer)가 버퍼의 끝에 도달하게 되면 수학식 3과 같이 버퍼의 반대방향으로 데이터 복사를 수행한다. 판독 포인터가 버퍼의 양 끝에 도달하게 되면 위의 과정을 반복하여 데이터 복사를 수행한다.After the first error frame, data is sequentially copied as much as the number of data to be copied from the repetitive buffer. When the read pointer of the buffer reaches the end of the buffer, the data is copied in the opposite direction of the buffer as shown in Equation (3). When the read pointer reaches both ends of the buffer, the above process is repeated to copy the data.
<수학식 3><Equation 3>
Figure PCTKR2015007014-appb-I000003
Figure PCTKR2015007014-appb-I000003
데이터 반복을 수행시 단순 반복은 위에서 언급한 대로 위상 불일치 및 불연속점을 발생시키게 된다. 따라서 첫번째 에러 프레임이 시작되는 경우 일정 길이의 중첩 구간을 만들어 문제점을 최소화하도록 반복 버퍼에 저장된 데이터를 수정하는 과정을 거친다. When performing data iterations, simple iterations will introduce phase mismatches and discontinuities as mentioned above. Therefore, when the first error frame starts, the data stored in the repetition buffer is modified to minimize the problem by creating an overlapping interval of a certain length.
<수학식 4><Equation 4>
Figure PCTKR2015007014-appb-I000004
Figure PCTKR2015007014-appb-I000004
수학식 4는 첫번째 에러프레임이 발생했을 때 중첩 및 가산 방법을 나타낸다. 'reversed_copy_data'는 반복 버퍼로부터 복사하는 데이터의 값이다. 복사하는 데이터는 반복 버퍼의 가장 최근값(N-1)부터 중첩 크기 M 만큼 데이터를 가져온다. 'overlap_data'는 에러를 최소화하기 위해 중첩되어지는 값이다. 'overlap_data'는 반복 버퍼의 최근값(N-1)부터 중첩 크기 M 만큼의 데이터를 이용하여 수학식 5와 같이 마지막 반복 버퍼의 값을 기준으로 반전시킨다. Equation 4 shows the overlap and add method when the first error frame occurs. 'reversed_copy_data' is the value of data to be copied from the repetition buffer. The data to be copied is taken from the most recent value (N-1) of the repeat buffer by the overlap size M. 'overlap_data' is a value that is overlapped to minimize errors. 'overlap_data' is inverted based on the value of the last repetition buffer as shown in Equation 5 using data from the latest value (N-1) of the repetition buffer to the overlap size M.
<수학식 5><Equation 5>
Figure PCTKR2015007014-appb-I000005
Figure PCTKR2015007014-appb-I000005
중첩 윈도우(overlap window)는 일부 실시예에서는 수학식 6과 같은 사인 윈도우(sin window)를 사용하였다.The overlap window used a sin window, such as Equation 6, in some embodiments.
<수학식 6><Equation 6>
Figure PCTKR2015007014-appb-I000006
Figure PCTKR2015007014-appb-I000006
데이터 반복 수행시 반복 버퍼의 판독 포인터가 버퍼의 양쪽 끝에 도달하게 되면 반대방향으로 데이터를 복사하게 된다. 이때 버퍼의 경계에서 위와 마찬가지로 위상 불일치, 불연속 등의 문제점이 발생하게 된다. When data iteration is performed, if the read pointer of the repeat buffer reaches both ends of the buffer, data is copied in the opposite direction. At this time, problems such as phase mismatch and discontinuity occur at the buffer boundary as above.
도 13a는 반복 데이터의 한쪽 끝에서 중첩 및 가산 방법을 적용하는 과정을 나타내는 도면이고, 도 13b는 반복 데이터의 다른쪽 끝에서 중첩 및 가산 방법을 적용하는 과정을 나타내는 도면이다. 도 13a 및 도 13b의 과정을 통하여 도 13b에 나타낸 바와 같이 수정된 반복 버퍼가 얻어진다.13A is a diagram illustrating a process of applying a superposition and addition method at one end of the repetitive data, and FIG. 13B is a diagram illustrating a process of applying a superposition and addition method at the other end of the repeating data. Through the process of FIGS. 13A and 13B, a modified repeat buffer as shown in FIG. 13B is obtained.
도 13a에서는 반복 버퍼의 데이터를 이용하여 중첩 및 가산을 수행하여 발생하는 문제점을 최소화한다. 이때 반전 데이터(reversed data)는 중첩을 위해 참조하는 반복 버퍼의 데이터를 반전시킨 값이다. 중첩 데이터(Overlap data)는 중첩을 위해 참조하는 반복 버퍼의 값을 그대로 사용한다. In FIG. 13A, problems caused by overlapping and adding using data in the repeating buffer are minimized. In this case, reversed data is a value obtained by inverting data of a repeating buffer referred to for overlapping. Overlap data uses the value of the repeating buffer referred to for overlapping.
반복 버퍼는 위의 과정을 통하여 도 13a 및 도 13b에 도시되어 있는 바와 같이, 버퍼의 양 끝에서 중첩 및 가산 과정을 수행하여 새로운 반복 버퍼로 변환된다.  The repeating buffer is converted into a new repeating buffer by performing an overlapping and adding process at both ends of the buffer as shown in FIGS. 13A and 13B through the above process.
도 14는 일부 실시예에 따른 수정된 반복 버퍼를 이용한 에러 은닉 방법을 나타내는 도면이다.14 is a diagram illustrating an error concealment method using a modified iteration buffer according to some embodiments.
생성된 반복 버퍼는 한번 생성되면 별도의 추가적인 작업 없이 도 14와 같이 에러 은닉을 위한 데이터 복제에 사용할 수 있다. 그렇게 함으로써 일부 실시예에서 제안한 방법은 에러 은닉의 복잡도를 줄이고 음질저하를 최소화할 수 있다.Once created, the repeated buffer can be used for data replication for error concealment as shown in FIG. 14 without any additional work. By doing so, the method proposed in some embodiments can reduce the complexity of error concealment and minimize the sound quality degradation.
일부 실시예를 이용하면 무선 네트워크의 채널 환경에 따라 채널 환경이 좋은 강전계의 경우 무손실 또는 높은 비트율로 멀티미디어 데이터를 부호화하여 음질을 향상시킬 수 있고, 채널환경이 나쁜 약전계의 상황에서는 네트워크 채널 환경에 따라 낮은 비트율부터 높은 비트율까지 효율적으로 가변하여 음끊김을 최소화 할 수 있다.According to some embodiments, in the case of a strong electric field having a good channel environment according to a channel environment of a wireless network, the sound quality may be improved by encoding multimedia data at a lossless or high bit rate. As a result, the sound interruption can be minimized by efficiently changing from a low bit rate to a high bit rate.
또한 패킷 손실이나 에러로 인하여 부호화기에서 발생하는 에러 프레임에 대하여 저복잡도의 에러은닉 방법을 적용하여 손실된 프레임을 복원하는 것이 가능하며, 위상 불일치 및 불연속점을 최소화하여 자연스러운 신호 복원이 가능하다.In addition, it is possible to recover a lost frame by applying a low complexity error concealment method to an error frame generated by the encoder due to packet loss or an error, and natural signal recovery is possible by minimizing phase mismatch and discontinuity.
또한 본 발명을 이용하면 데이터 타입(오디오 또는 비디오)에 따라 수신단의 입력 버퍼의 크기를 조정하여 데이터 타입에 따라 동기화 및 지연을 효과적으로 제어할 수 있다.In addition, according to the present invention, the size of the input buffer of the receiver according to the data type (audio or video) can be adjusted to effectively control synchronization and delay according to the data type.
도 15는 일부 실시예에 따른 데이터 전송 장치(100)가 데이터 재생 장치(1000)에게 오디오 데이터를 제공하는 예시를 나타내는 도면이다.FIG. 15 is a diagram illustrating an example in which the data transmission apparatus 100 provides audio data to the data reproduction apparatus 1000 according to some embodiments.
도 15를 참조하면, 일부 실시예에 따른 데이터 전송 장치(100)는 오디오 신호로부터 분할된 오디오 프레임 또는 오디오 프레임의 식별값을 선택적으로 데이터 재생 장치(1000)에게 전송할 수 있다. 데이터 전송 장치(100)는 오디오 신호를 복수의 오디오 프레임으로 분할할 수 있으며, 현재 오디오 프레임인 제4 오디오 프레임을 데이터 전송 장치(100)에 저장된 이전 오디오 프레임들인 제1 오디오 프레임, 제2 오디오 프레임 및 제3 오디오 프레임과 비교할 수 있다. 또한, 비교 결과에 따라, 데이터 전송 장치(100)는 제4 오디오 프레임을 압축하여 데이터 재생 장치(1000)에게 전송하거나, 제4 오디오 프레임과 유사한 이전 오디오 프레임의 식별 값을 데이터 재생 장치(1000)에게 전송할 수 있다.Referring to FIG. 15, the data transmission apparatus 100 may selectively transmit an audio frame or an identification value of an audio frame divided from an audio signal to the data reproduction apparatus 1000. The data transmission apparatus 100 may split an audio signal into a plurality of audio frames, and the fourth audio frame, which is the current audio frame, may be the first audio frame, the second audio frame, which is the previous audio frames stored in the data transmission apparatus 100. And a third audio frame. Also, according to the comparison result, the data transmission apparatus 100 may compress the fourth audio frame and transmit the compressed audio frame to the data reproduction apparatus 1000 or transmit the identification value of the previous audio frame similar to the fourth audio frame. Can be sent to.
또한, 데이터 재생 장치(1000)는 데이터 전송 장치(100)로부터 수신된 압축된 제4 오디오 프레임을 신장하여 출력하거나, 데이터 전송 장치(100)로부터 수신된 식별 값에 대응되는 오디오 프레임을 데이터 재생 장치(1000)의 메모리로부터 추출하여 출력할 수 있다.In addition, the data reproducing apparatus 1000 extends and outputs the compressed fourth audio frame received from the data transmitting apparatus 100 or outputs an audio frame corresponding to the identification value received from the data transmitting apparatus 100. It can be extracted from the memory of 1000 and output.
도 16은 일부 실시예에 따른 데이터 전송 장치(100)가 오디오 데이터를 데이터 재생 장치(1000)에게 제공하는 방법의 흐름도이다.16 is a flowchart of a method of providing, by the data transmission device 100, the audio data to the data reproduction device 1000 according to some embodiments.
단계 S1600에서 데이터 전송 장치(100)는 데이터 전송 장치(100)로 입력된 오디오 신호를 복수의 오디오 프레임으로 분할할 수 있다. 데이터 전송 장치(100)는 사용자로부터 발화된 음성 입력을 수신하거나 다른 장치(미도시)로부터 제공된 오디오 신호를 수신할 수 있다. 또한, 데이터 전송 장치(100)가 수신한 오디오 신호가 아날로그 신호인 경우에, 데이터 전송 장치(100)는 오디오 신호를 디지털 신호로 변환할 수 있다. 또한, 데이터 전송 장치(100)는 수신된 오디오 신호를 복수의 오디오 프레임으로 분할할 수 있다. 데이터 전송 장치(100)는 오디오 신호를 시간에 따라 계속적으로 분할할 수 있다.In operation S1600, the data transmission apparatus 100 may divide the audio signal input to the data transmission apparatus 100 into a plurality of audio frames. The data transmission device 100 may receive a voice input spoken by a user or an audio signal provided from another device (not shown). In addition, when the audio signal received by the data transmission device 100 is an analog signal, the data transmission device 100 may convert the audio signal into a digital signal. In addition, the data transmission apparatus 100 may divide the received audio signal into a plurality of audio frames. The data transmission apparatus 100 may continuously divide an audio signal according to time.
단계 S1610에서 데이터 전송 장치(100)는 현재 오디오 프레임을 데이터 전송 장치(100)의 메모리(1700)에 기저장된 적어도 하나의 오디오 프레임과 비교할 수 있다. 메모리(1700)에 기저장된 오디오 프레임은 현재 오디오 프레임의 이전의 오디오 프레임일 수 있다. 또한, 메모리(1700)에 기 저장된 오디오 프레임은 데이터 재생 장치(1000)에게 성공적으로 전송된 이전 오디오 프레임일 수 있다.In operation S1610, the data transmission apparatus 100 may compare the current audio frame with at least one audio frame previously stored in the memory 1700 of the data transmission apparatus 100. The audio frame previously stored in the memory 1700 may be a previous audio frame of the current audio frame. In addition, the audio frame previously stored in the memory 1700 may be a previous audio frame successfully transmitted to the data reproducing apparatus 1000.
데이터 전송 장치(100)는 메모리(1700)에 기저장된 이전 오디오 프레임과 현재 오디오 프레임을 비교함으로써, 이전 오디오 프레임과 현재 오디오 프레임의 유사도를 결정할 수 있다. 예를 들어, 데이터 전송 장치(100)는 이전 오디오 프레임과 현재 오디오 프레임의 상관관계 수치(Correlation Value)를 산출함으로써 이전 오디오 프레임과 현재 오디오 프레임의 유사도를 결정할 수 있다. 이전 오디오 프레임과 현재 오디오 프레임의 상관관계 수치는 MSE(Mean Square Error) 등의 기법을 이용하여 산출될 수 있다. 그러나, 이에 제한되지 않으며 다양한 기법을 통하여 이전 오디오 프레임과 현재 오디오 프레임의 유사도가 판단될 수 있다.The data transmission apparatus 100 may determine the similarity between the previous audio frame and the current audio frame by comparing the previous audio frame previously stored in the memory 1700 with the current audio frame. For example, the data transmission apparatus 100 may determine the similarity between the previous audio frame and the current audio frame by calculating a correlation value between the previous audio frame and the current audio frame. The correlation value between the previous audio frame and the current audio frame may be calculated using a technique such as Mean Square Error (MSE). However, the present invention is not limited thereto and the similarity between the previous audio frame and the current audio frame may be determined through various techniques.
단계 S1620에서 데이터 전송 장치(100)는 결정된 유사도가 기설정된 임계치보다 큰지를 판단할 수 있다. 기설정된 임계치는, 예를 들어, 오디오 신호의 종류, 오디오 신호의 분할 방법, 데이터 전송 장치(100)의 사양 및 데이터 재생 장치(1000)의 사양에 따라 다양하게 설정될 수 있다.In operation S1620, the data transmission apparatus 100 may determine whether the determined similarity is greater than a preset threshold. The preset threshold may be variously set depending on, for example, the type of the audio signal, the method of dividing the audio signal, the specification of the data transmission apparatus 100, and the specification of the data reproducing apparatus 1000.
단계 S1620에서의 판단 결과, 결정된 유사도가 기설정된 임계치보다 큰 경우에, 단계 S1630에서 데이터 전송 장치(100)는 메모리(1700)에 기 저장된 이전 오디오 프레임의 식별 값을 데이터 재생 장치(1000)에게 전송할 수 있다. 데이터 전송 장치(100)는 결정된 유사도를 갖는 이전 오디오 프레임의 식별 값을 데이터 재생 장치(1000)에게 전송할 수 있다. As a result of the determination in operation S1620, when the determined similarity is greater than the preset threshold, in operation S1630, the data transmission apparatus 100 may transmit an identification value of the previous audio frame previously stored in the memory 1700 to the data reproduction apparatus 1000. Can be. The data transmission apparatus 100 may transmit the identification value of the previous audio frame having the determined similarity to the data reproduction apparatus 1000.
만약, 메모리(1700)에 기 저장된 이전 오디오 프레임들 중에서 임계치 이상의 유사도를 가지는 이전 오디오 프레임이 복수인 경우에는, 데이터 전송 장치(100)는 가장 높은 유사도를 가지는 이전 오디오 프레임의 식별 값을 데이터 재생 장치(1000)에게 전송할 수 있다.If there are a plurality of previous audio frames having similarity above a threshold among the previous audio frames previously stored in the memory 1700, the data transmission apparatus 100 may identify an identification value of the previous audio frame having the highest similarity. Transmit to 1000.
이 경우, 이전 오디오 프레임은 데이터 재생 장치(1000)의 메모리에도 미리 저장되어 있으며, 데이터 재생 장치(1000)는 수신된 식별 값을 이용하여 데이터 재생 장치(1000)의 메모리에 저장된 이전 오디오 프레임을 추출하고 출력할 수 있게 된다.In this case, the previous audio frame is previously stored in the memory of the data reproducing apparatus 1000, and the data reproducing apparatus 1000 extracts the previous audio frame stored in the memory of the data reproducing apparatus 1000 by using the received identification value. And output.
또한, 선택된 이전 오디오 프레임의 식별 값의 전송이 실패됨에 따라, 데이터 전송 장치(100)는 선택된 이전 오디오 프레임의 식별값을 기 설정된 전송 제한 시간 내에 데이터 재생 장치(1000)에게 재전송할 수 있다.In addition, as transmission of the identification value of the selected previous audio frame fails, the data transmission apparatus 100 may retransmit the identification value of the selected previous audio frame to the data reproducing apparatus 1000 within a preset transmission time limit.
또한, 기 설정된 전송 제한 시간 내에, 상기 선택된 이전 오디오 프레임의 식별 값의 재전송이 실패됨에 따라, 데이터 전송 장치(100)는 현재 오디오 프레임을 압축하여 데이터 재생 장치(1000)에게 전송할 수 있다. 또는, 기 설정된 전송 제한 시간 내에, 상기 선택된 이전 오디오 프레임의 식별 값의 재전송이 실패됨에 따라, 데이터 전송 장치(100)는 다음 오디오 프레임의 전송 방법을 결정할 수 있다.In addition, as retransmission of the identification value of the selected previous audio frame fails within the preset transmission time limit, the data transmission apparatus 100 may compress the current audio frame and transmit it to the data reproducing apparatus 1000. Alternatively, as retransmission of the identification value of the selected previous audio frame fails within a preset transmission time limit, the data transmission apparatus 100 may determine a transmission method of the next audio frame.
단계 S1620에서의 판단 결과, 결정된 유사도가 기설정된 임계치보다 작은 경우에, 단계 S1640에서 데이터 전송 장치(100)는 현재 오디오 프레임을 압축할 수 있다.As a result of the determination in operation S1620, when the determined similarity is smaller than the preset threshold, in operation S1640, the data transmission apparatus 100 may compress the current audio frame.
단계 S1650에서 데이터 전송 장치(100)는 압축된 현재 오디오 프레임을 데이터 재생 장치(1000)에게 전송할 수 있다.In operation S1650, the data transmission apparatus 100 may transmit the compressed current audio frame to the data reproduction apparatus 1000.
도 17은 일부 실시예에 따른 데이터 전송 장치(100)가 현재 오디오 프레임을 압축하여 데이터 재생 장치(1000)에게 전송하는 방법의 흐름도이다.17 is a flowchart illustrating a method of compressing a current audio frame and transmitting the current audio frame to the data reproducing apparatus 1000 according to some embodiments.
단계 S1700에서 데이터 전송 장치(100)는 현재 오디오 프레임을 압축할 수 있다. 데이터 전송 장치(100)는 현재 오디오 프레임을 데이터 재생 장치(1000)에게 전송하기 위하여 현재 오디오 프레임을 다양한 코덱 알고리즘을 이용하여 오디오 비트스트림으로 압축할 수 있다.In operation S1700, the data transmission apparatus 100 may compress the current audio frame. The data transmission apparatus 100 may compress the current audio frame into an audio bitstream using various codec algorithms in order to transmit the current audio frame to the data reproducing apparatus 1000.
단계 S1705에서 데이터 전송 장치(100)는 압축된 오디오 프레임을 데이터 재생 장치(1000)에게 전송할 수 있다. 데이터 전송 장치(100)는 압축된 현재 오디오 프레임을 데이터 재생 장치(1000)에게 전송할 수 있다. 데이터 전송 장치(100)는 압축된 오디오 프레임을 전송한 시각을 확인할 수 있다.In operation S1705, the data transmission apparatus 100 may transmit the compressed audio frame to the data reproduction apparatus 1000. The data transmission apparatus 100 may transmit the compressed current audio frame to the data reproduction apparatus 1000. The data transmission apparatus 100 may check the time at which the compressed audio frame is transmitted.
단계 S1710에서 데이터 전송 장치(100)는 데이터 재생 장치(1000)로부터 ACK 신호를 수신하였는지를 판단할 수 있다. 데이터 재생 장치(1000)가 압축된 오디오 프레임을 성공적으로 수신한 경우에 데이터 재생 장치(1000)는 ACK 신호를 데이터 전송 장치(100)에게 전송할 수 있다. 또한, 데이터 재생 장치(1000)가 압축된 오디오 신호를 성공적으로 수신하지 못한 경우에 데이터 재생 장치(1000)는 NACK 신호를 데이터 전송 장치(100)에게 전송할 수 있다.In operation S1710, the data transmission apparatus 100 may determine whether an ACK signal is received from the data reproduction apparatus 1000. When the data reproducing apparatus 1000 successfully receives the compressed audio frame, the data reproducing apparatus 1000 may transmit an ACK signal to the data transmitting apparatus 100. In addition, when the data reproducing apparatus 1000 does not successfully receive the compressed audio signal, the data reproducing apparatus 1000 may transmit a NACK signal to the data transmitting apparatus 100.
단계 S1710에서의 판단 결과, 데이터 전송 장치(100)가 데이터 재생 장치(1000)로부터 ACK 신호를 수신하였다고 판단되면, 단계 S1715에서 데이터 전송 장치(100)는 성공적으로 전송된 압축된 현재 오디오 프레임을 신장(decompression)할 수 있다.As a result of the determination in step S1710, when it is determined that the data transmission apparatus 100 receives the ACK signal from the data reproducing apparatus 1000, in step S1715 the data transmission apparatus 100 decompresses the successfully transmitted compressed current audio frame. (decompression)
단계 S1720에서 데이터 전송 장치(100)는 메모리(1700)에 기저장된 이전 오디오 프레임 중 적어도 하나를 삭제할 수 있다. 데이터 전송 장치(100)는 기 설정된 기준에 따라, 기저장된 이전 오디오 프레임 중 적어도 하나를 선택하고, 선택된 이전 오디오 프레임을 메모리(1700)에서 삭제할 수 있다. 메모리(1700)에 기저장된 이전 오디오 프레임 중 적어도 하나가 삭제됨에 따라, 신장된 현재 오디오 프레임이 저장될 공간이 메모리(1700) 내에 확보될 수 있다.In operation S1720, the data transmission apparatus 100 may delete at least one of previous audio frames previously stored in the memory 1700. The data transmission apparatus 100 may select at least one of previously stored previous audio frames and delete the selected previous audio frame from the memory 1700 according to a preset criterion. As at least one of the previous audio frames previously stored in the memory 1700 is deleted, a space in which the extended current audio frame is to be stored may be secured in the memory 1700.
단계 S1730에서 데이터 전송 장치(100)는 신장된 현재 오디오 프레임을 메모리(1700)에 저장할 수 있다.In operation S1730, the data transmission apparatus 100 may store the extended current audio frame in the memory 1700.
S1710에서의 판단 결과, 데이터 전송 장치(100)가 데이터 재생 장치(1000)로부터 ACK 신호를 수신하지 못하였다고 판단되면, 단계 S1730에서 데이터 전송 장치(100)는 압축된 현재 오디오 프레임의 전송 시간이 전송 제한 시간을 초과하였는지를 판단할 수 있다. 전송 제한 시간은, 압축된 현재 오디오 프레임을 전송하기 위하여 설정된 제한 시간일 수 있으며, 다양한 기준에 따라 설정될 수 있다.As a result of the determination in S1710, when it is determined that the data transmission apparatus 100 does not receive the ACK signal from the data reproducing apparatus 1000, the data transmission apparatus 100 transmits the transmission time of the compressed current audio frame in step S1730. It may be determined whether the time limit has been exceeded. The transmission time limit may be a time limit set for transmitting a compressed current audio frame and may be set according to various criteria.
단계 S1730에서의 판단 결과, 압축된 현재 오디오 프레임의 전송 시간이 전송 제한 시간을 초과하였다고 판단되면, 데이터 전송 장치(100)는 다음 오디오 프레임을 압축할 수 있다. 이후, 단계 S1705에서 데이터 전송 장치(100)는 압축된 다음 오디오 프레임을 데이터 재생 장치(1000)에게 전송할 수 있다.If it is determined in operation S1730 that the transmission time of the compressed current audio frame exceeds the transmission time limit, the data transmission device 100 may compress the next audio frame. Thereafter, in operation S1705, the data transmission apparatus 100 may transmit the compressed next audio frame to the data reproduction apparatus 1000.
도 18은 일부 실시예에 따른 데이터 전송 장치(100)가 오디오 프레임을 관리하는 방법의 흐름도이다.18 is a flowchart of a method of managing an audio frame by the data transmission apparatus 100 according to some embodiments.
도 18을 참조하면, 데이터 전송 장치(100)의 메모리(1700)에는 이전 오디오 프레임인 제1 오디오 프레임(1840), 제2 오디오 프레임(1850) 및 제3 오디오 프레임(1860)이 저장되어 있을 수 있으며, 데이터 전송 장치(100)는 현재 오디오 프레임인 제4 오디오 프레임(1870)을 메모리(1700)에 저장할 수 있다.Referring to FIG. 18, the first audio frame 1840, the second audio frame 1850, and the third audio frame 1860, which are previous audio frames, may be stored in the memory 1700 of the data transmission apparatus 100. The data transmission apparatus 100 may store the fourth audio frame 1870, which is the current audio frame, in the memory 1700.
단계 S1800에서 데이터 전송 장치(100)는 성공적으로 전송된 압축된 제4 오디오 프레임(1870)을 신장할 수 있다. 제4 오디오 프레임(1870)은 현재 오디오 프레임일 수 있으며, 압축된 제4 오디오 프레임(1870)이 데이터 재생 장치(1000)에게 성공적으로 전송됨에 따라, 데이터 전송 장치(100)는 압축된 제4 오디오 프레임(1870)을 신장할 수 있다.In operation S1800, the data transmission apparatus 100 may expand the compressed fourth audio frame 1870 that has been successfully transmitted. The fourth audio frame 1870 may be a current audio frame, and as the compressed fourth audio frame 1870 is successfully transmitted to the data reproducing apparatus 1000, the data transmitting apparatus 100 may compress the fourth audio frame. The frame 1870 may be extended.
단계 S1810에서 데이터 전송 장치(100)는 이전 오디오 프레임들의 삭제 순위를 결정할 수 있다. 데이터 전송 장치(100)는 제1 오디오 프레임(1840), 제2 오디오 프레임(1850) 및 제3 오디오 프레임(1860)의 삭제 순위를 결정할 수 있다.In operation S1810, the data transmission apparatus 100 may determine a deletion order of previous audio frames. The data transmission apparatus 100 may determine the deletion order of the first audio frame 1840, the second audio frame 1850, and the third audio frame 1860.
데이터 전송 장치(100)는 이전 오디오 프레임들이 메모리(1700)에 저장된 시각을 기준으로 이전 오디오 프레임들의 삭제 순위를 결정할 수 있다. 예를 들어, 데이터 전송 장치(100)는 메모리(1700)에 먼저 저장된 이전 오디오 프레임이 먼저 삭제되도록 삭제 순위를 결정할 수 있다.The data transmission apparatus 100 may determine the deletion order of previous audio frames based on the time when the previous audio frames are stored in the memory 1700. For example, the data transmission apparatus 100 may determine the deletion order such that the previous audio frame stored in the memory 1700 is deleted first.
또는, 데이터 전송 장치(100)는 이전 오디오 프레임의 식별 값이 데이터 재생 장치(1000)에게 전송된 횟수에 기초하여, 이전 오디오 프레임들의 삭제 순위를 결정할 수 있다. 예를 들어, 데이터 전송 장치(100)는 데이터 재생 장치(1000)에게 식별 값이 전송된 횟수가 적은 이전 오디오 프레임이 메모리(1700)에서 먼저 삭제되도록 삭제 순위를 결정할 수 있다.Alternatively, the data transmission apparatus 100 may determine the deletion order of the previous audio frames based on the number of times the identification value of the previous audio frame is transmitted to the data reproducing apparatus 1000. For example, the data transmission apparatus 100 may determine the deletion order such that the previous audio frame having a small number of times that an identification value has been transmitted to the data reproduction apparatus 1000 is deleted from the memory 1700 first.
그러나, 데이터 전송 장치(100)가 삭제 순위를 결정하는 기준은 위에 제한되지 않으며, 데이터 전송 장치(100)는 오디오 신호의 종류 등을 고려하여 다양한 기준에 따라 삭제 순위를 결정할 수 있다.However, the criterion for determining the deletion order of the data transmission device 100 is not limited to the above, and the data transmission device 100 may determine the deletion order according to various criteria in consideration of the type of the audio signal.
또한, 데이터 전송 장치(100)는 결정된 삭제 순위에 관한 정보를 데이터 재생 장치(1000)에게 제공할 수 있다. 이에 따라, 데이터 재생 장치(1000)도 결정된 삭제 순위에 따라 데이터 재생 장치(1000)에 저장된 이전 오디오 프레임들을 삭제할 수 있게 된다. 또한, 데이터 전송 장치(100)에 저장된 이전 오디오 프레임 및 데이터 재생 장치(1000)에 저장된 이전 오디오 프레임이 동기화될 수 있다.In addition, the data transmission apparatus 100 may provide the data reproducing apparatus 1000 with information about the determined deletion order. Accordingly, the data reproducing apparatus 1000 may delete the previous audio frames stored in the data reproducing apparatus 1000 according to the determined deletion order. In addition, the previous audio frame stored in the data transmission apparatus 100 and the previous audio frame stored in the data reproducing apparatus 1000 may be synchronized.
단계 S1820에서 데이터 전송 장치(100)는 삭제할 이전 오디오 프레임을 선택할 수 있다. 예를 들어, 데이터 전송 장치(100)는 메모리(1700)에 저장된 제1 오디오 프레임(1840), 제2 오디오 프레임(1850) 및 제3 오디오 프레임(1860) 중에서 가장 먼저 메모리(1700)에 저장된 제1 오디오 프레임(1840)을 선택할 수 있다.In operation S1820, the data transmission apparatus 100 may select a previous audio frame to be deleted. For example, the data transmission apparatus 100 may be the first of the first audio frame 1840, the second audio frame 1850, and the third audio frame 1860 stored in the memory 1700. One audio frame 1840 may be selected.
단계 S1830에서 데이터 전송 장치(100)는 선택된 이전 오디오 프레임을 메모리(1700)에서 삭제할 수 있다. 데이터 전송 장치(100)는 선택된 제1 오디오 프레임을 메모리(1700)에서 삭제할 수 있다.In operation S1830, the data transmission apparatus 100 may delete the selected previous audio frame from the memory 1700. The data transmission device 100 may delete the selected first audio frame from the memory 1700.
단계 S1840에서 데이터 전송 장치(100)는 신장된 제4 오디오 프레임을 메모리(1700)에 저장할 수 있다.In operation S1840, the data transmission apparatus 100 may store the expanded fourth audio frame in the memory 1700.
도 19는 일부 실시예에 따른 데이터 재생 장치(1000)가 데이터 전송 장치(100)로부터 수신된 오디오 프레임을 저장하고 관리하는 방법의 흐름도이다.19 is a flowchart of a method of storing and managing an audio frame received from the data transmission apparatus 100 by the data reproducing apparatus 1000, according to some embodiments.
단계 S1900에서 데이터 재생 장치(1000)는 데이터 전송 장치(100)로부터 오디오 신호에 관련된 데이터를 수신할 수 있다. 데이터 재생 장치(1000)는 데이터 전송 장치(100)로부터 압축된 현재 오디오 프레임을 수신하거나 이전 오디오 프레임의 식별 값을 수신할 수 있다.In operation S1900, the data reproducing apparatus 1000 may receive data related to an audio signal from the data transmitting apparatus 100. The data reproducing apparatus 1000 may receive a compressed current audio frame from the data transmission apparatus 100 or receive an identification value of a previous audio frame.
단계 S1905에서 데이터 재생 장치(1000)는 수신된 데이터의 데이터 타입을 식별할 수 있다. 데이터 재생 장치(1000)는 데이터 전송 장치(100)로부터 수신된 오디오 신호에 관련된 데이터가 압축된 현재 오디오 프레임인지, 이전 오디오 프레임의 식별 값인지를 판단할 수 있다.In operation S1905, the data reproducing apparatus 1000 may identify a data type of the received data. The data reproducing apparatus 1000 may determine whether data related to the audio signal received from the data transmitting apparatus 100 is a compressed current audio frame or an identification value of a previous audio frame.
단계 S1905에서 식별된 데이터의 종류가 압축된 현재 오디오 프레임인 경우, 단계 S1910에서 데이터 재생 장치(1000)는 압축된 현재 오디오 프레임을 신장할 수 있다.If the type of data identified in step S1905 is a compressed current audio frame, the data reproducing apparatus 1000 may decompress the compressed current audio frame in step S1910.
단계 S1910에서 데이터 재생 장치(1000)는 기설정된 삭제 순위에 기초하여, 데이터 재생 장치(1000)의 메모리에 기저장된 이전 오디오 프레임을 삭제할 수 있다. 이 경우, 데이터 재생 장치(1000)는 삭제 순위에 관한 설정 값을 데이터 전송 장치(100)로부터 미리 수신하여 저장할 수 있으며, 삭제 순위에 관한 동일한 설정 값이 데이터 전송 장치(100) 및 데이터 재생 장치(1000)에 각각 저장될 수 있다. 그러나, 이에 제한되지 않으며, 데이터 재생 장치(1000)가 사용자 입력에 기초하여, 삭제 순위에 관한 설정 값을 생성하고 생성된 설정 값을 데이터 전송 장치(100)에게 제공할 수도 있다.In operation S1910, the data reproducing apparatus 1000 may delete the previous audio frame previously stored in the memory of the data reproducing apparatus 1000 based on the preset deletion order. In this case, the data reproducing apparatus 1000 may receive and store a setting value related to the deletion rank from the data transmission apparatus 100 in advance, and the same setting value regarding the deletion rank may be stored in the data transmission apparatus 100 and the data reproducing apparatus ( 1000, respectively. However, the present invention is not limited thereto, and the data reproducing apparatus 1000 may generate a setting value relating to a deletion rank based on a user input and provide the generated setting value to the data transmission apparatus 100.
또한, 데이터 재생 장치(1000)는 삭제 순위에 관한 설정 값에 따라, 메모리에 기저장된 이전 오디오 프레임 중 적어도 하나를 삭제할 수 있다. 이전 오디오 프레임이 메모리에서 삭제됨에 따라, 메모리 내에서 현재 오디오 프레임이 저장될 저장 공간이 확보될 수 있다.In addition, the data reproducing apparatus 1000 may delete at least one of the previous audio frames pre-stored in the memory according to a setting value of the deletion order. As the previous audio frame is deleted from the memory, a storage space for storing the current audio frame in the memory may be secured.
단계 S1920에서 데이터 재생 장치(1000)는 신장된 현재 오디오 프레임을 메모리에 저장할 수 있다.In operation S1920, the data reproducing apparatus 1000 may store the extended current audio frame in the memory.
단계 S1925에서 데이터 재생 장치(1000)는 ACK 신호를 데이터 전송 장치(100)에게 전송할 수 있다. 데이터 재생 장치(1000)는 압축된 현재 오디오 프레임을 성공적으로 수신되었음을 데이터 전송 장치(100)에게 알리기 위하여 ACK 신호를 데이터 전송 장치(100)에게 전송할 수 있다. 이에 따라, 데이터 전송 장치(100)는 ACK 신호를 수신함으로써 압축된 현재 오디오 프레임이 성공적으로 데이터 재생 장치(1000)에게 전송되었음을 판단할 수 있다. 또한, 데이터 전송 장치(100)는 데이터 전송 장치(100)의 메모리(1700)에 기저장된 이전 오디오 프레임을 삭제하고, 압축된 현재 오디오 프레임을 신장하여 메모리(1700)에 저장할 수 있다. 이 경우, 데이터 전송 장치(100)는 데이터 재생 장치(1000)와 동일한 삭제 순위에 따라 이전 오디오 프레임을 삭제할 수 있다.In operation S1925, the data reproducing apparatus 1000 may transmit an ACK signal to the data transmitting apparatus 100. The data reproducing apparatus 1000 may transmit an ACK signal to the data transmitting apparatus 100 to inform the data transmitting apparatus 100 that the compressed current audio frame has been successfully received. Accordingly, the data transmission apparatus 100 may determine that the compressed current audio frame has been successfully transmitted to the data reproduction apparatus 1000 by receiving the ACK signal. In addition, the data transmission apparatus 100 may delete the previous audio frame previously stored in the memory 1700 of the data transmission apparatus 100, extend the compressed current audio frame, and store it in the memory 1700. In this case, the data transmission apparatus 100 may delete the previous audio frame according to the same deletion order as that of the data reproduction apparatus 1000.
단계 S1930에서 데이터 재생 장치(1000)는 신장된 현재 오디오 프레임의 오디오 신호를 출력할 수 있다.In operation S1930, the data reproducing apparatus 1000 may output an audio signal of the extended current audio frame.
단계 S1905에서 식별된 데이터의 종류가 이전 오디오 프레임의 식별 값인 경우, 단계 S1935에서 데이터 재생 장치(1000)는 수신된 식별 값에 대응되는 이전 오디오 프레임을 데이터 재생 장치(1000)의 메모리로부터 추출할 수 있다. 데이터 재생 장치(1000)는 수신된 식별 값을 가지는 이전 오디오 프레임을 추출할 수 있다.If the type of data identified in step S1905 is the identification value of the previous audio frame, in step S1935 the data reproducing apparatus 1000 may extract the previous audio frame corresponding to the received identification value from the memory of the data reproducing apparatus 1000. have. The data reproducing apparatus 1000 may extract a previous audio frame having the received identification value.
단계 S1910에서 데이터 재생 장치(1000)는 추출된 이전 오디오 프레임의 오디오 신호를 출력할 수 있다.In operation S1910, the data reproducing apparatus 1000 may output an audio signal of the extracted previous audio frame.
한편, 상기에서는 데이터 전송 장치(100) 및 데이터 재생 장치(1000)가 동일한 이전 오디오 프레임을 저장하고 삭제하기 위하여, 삭제 순위에 관한 동일한 설정 값을 이용하여 이전 오디오 프레임을 삭제하는 것으로 설명하였지만, 이에 제한되지 않는다. 데이터 재생 장치(1000)가 이전 오디오 프레임을 삭제하고, 삭제된 이전 오디오 프레임의 식별 값을 데이터 전송 장치(100)에게 제공할 수 있으며, 데이터 전송 장치(100)는 데이터 재생 장치(1000)로부터 수신된 삭제된 이전 오디오 프레임의 식별 값을 이용하여, 데이터 재생 장치(1000)에서 삭제된 이전 오디오 프레임과 동일한 이전 오디오 프레임을 데이터 전송 장치(100)의 메모리(1700)에서 삭제할 수 있다.Meanwhile, in the above description, the data transmission apparatus 100 and the data reproducing apparatus 1000 delete the previous audio frame using the same setting value with respect to the deletion order in order to store and delete the same previous audio frame. It is not limited. The data reproducing apparatus 1000 may delete the previous audio frame and provide an identification value of the deleted previous audio frame to the data transmitting apparatus 100, and the data transmitting apparatus 100 receives the data from the data reproducing apparatus 1000. The previous audio frame identical to the previous audio frame deleted by the data reproducing apparatus 1000 may be deleted from the memory 1700 of the data transmission apparatus 100 using the identification value of the deleted previous audio frame.
한편, 데이터 재생 장치(1000)는 ACK 신호를 단계 S1915 이전에 데이터 전송 장치(100)로 전송할 수 있으며, 데이터 전송 장치(100)는 ACK 신호를 수신하고 데이터 전송 장치(100)의 메모리(1700) 내의 이전 오디오 프레임을 삭제할 수 있다. 또한, 데이터 전송 장치(100)는 삭제된 이전 오디오 프레임의 식별 값을 데이터 재생 장치(1000)에게 제공할 수 있으며, 데이터 재생 장치(1000)는 데이터 전송 장치(100)로부터 수신된 삭제된 이전 오디오 프레임의 식별 값을 이용하여, 데이터 전송 장치(100)에서 삭제된 이전 오디오 프레임과 동일한 이전 오디오 프레임을 데이터 재생 장치(1000)의 메모리에서 삭제할 수도 있다.Meanwhile, the data reproducing apparatus 1000 may transmit the ACK signal to the data transmitting apparatus 100 before step S1915, and the data transmitting apparatus 100 receives the ACK signal and the memory 1700 of the data transmitting apparatus 100. You can delete the previous audio frame within. In addition, the data transmission apparatus 100 may provide an identification value of the deleted previous audio frame to the data reproducing apparatus 1000, and the data reproducing apparatus 1000 may delete the previous previous audio received from the data transmitting apparatus 100. The previous audio frame identical to the previous audio frame deleted by the data transmission apparatus 100 may be deleted from the memory of the data reproducing apparatus 1000 by using the identification value of the frame.
이에 따라, 데이터 재생 장치(1000)의 메모리 및 데이터 전송 장치(100)의 메모리(1700)에는 동일한 오디오 프레임이 저장되고 삭제될 수 있다.Accordingly, the same audio frame may be stored and deleted in the memory of the data reproducing apparatus 1000 and the memory 1700 of the data transmitting apparatus 100.
도 20 및 도 21은 일부 실시 예에 따른 데이터 전송 장치(100)의 블록도이다.20 and 21 are block diagrams of a data transmission apparatus 100 according to some embodiments.
도 20에 도시된 바와 같이, 일부 실시예에 따른 데이터 전송 장치(100)는, 사용자 입력부(1100), 출력부(1200), 제어부(1300), 및 통신부(1500)를 포함할 수 있다. 그러나, 도 6에 도시된 구성 요소 모두가 데이터 전송 장치(100)의 필수 구성 요소인 것은 아니다. 도 20에 도시된 구성 요소보다 많은 구성 요소에 의해 데이터 전송 장치(100)가 구현될 수도 있고, 도 20에 도시된 구성 요소보다 적은 구성 요소에 의해 데이터 전송 장치(100)가 구현될 수도 있다.As illustrated in FIG. 20, the data transmission apparatus 100 may include a user input unit 1100, an output unit 1200, a controller 1300, and a communicator 1500. However, not all the components shown in FIG. 6 are essential components of the data transmission apparatus 100. The data transmission apparatus 100 may be implemented by more components than those illustrated in FIG. 20, or the data transmission apparatus 100 may be implemented by fewer components than the components illustrated in FIG. 20.
예를 들어, 도 21에 도시된 바와 같이, 일부 실시 예에 따른 데이터 전송 장치(100)는, 사용자 입력부(1100), 출력부(1200), 제어부(1300), 및 통신부(1500) 이외에 센싱부(1400), A/V 입력부(1600), 및 메모리(1700)를 더 포함할 수도 있다. For example, as illustrated in FIG. 21, the data transmission apparatus 100 according to some embodiments may include a sensing unit in addition to the user input unit 1100, the output unit 1200, the control unit 1300, and the communication unit 1500. 1400, an A / V input unit 1600, and a memory 1700 may be further included.
사용자 입력부(1100)는, 사용자가 데이터 전송 장치(100)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.The user input unit 1100 means a means for a user to input data for controlling the data transmission apparatus 100. For example, the user input unit 1100 includes a key pad, a dome switch, a touch pad (contact capacitive type, pressure resistive layer type, infrared sensing type, surface ultrasonic conduction type, and integral type). Tension measurement method, piezo effect method, etc.), a jog wheel, a jog switch, and the like, but are not limited thereto.
사용자 입력부(1100)는, 현재 오디오 프레임과 이전 오디오 프레임의 유사도와 비교될 임계치를 설정하는 사용자 입력, 현재 오디오 프레임의 전송 제한 시간을 설정하는 사용자 입력 및 이전 오디오 프레임의 삭제 순위를 설정하는 사용자 입력 등을 수신할 수 있다. The user input unit 1100 may include a user input for setting a threshold to be compared with a similarity between a current audio frame and a previous audio frame, a user input for setting a transmission time limit of the current audio frame, and a user input for setting a deletion order of a previous audio frame. And the like.
출력부(1200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있다.The output unit 1200 may output an audio signal, a video signal, or a vibration signal, and the output unit 1200 may include a display unit 1210, an audio output unit 1220, and a vibration motor 1230. have.
디스플레이부(1210)는 데이터 전송 장치(100)에서 처리되는 정보를 표시 출력한다. 예를 들어, 디스플레이부(1210)는, 데이터 전송 장치(100)와 데이터 재생 장치(1000) 간의 데이터 전송과 관련된 정보를 디스플레이할 수 있다. 예를 들어, 디스플레이부(1210)는 오디오 프레임 식별값의 전송 비율 및 전력 효율을 디스플레이 할 수 있다. 또한 디스플레이부(1210)는 데이터 전송 장치(100)에 저장된 이전 오디오 프레임과 데이터 재생 장치(1000)에 저장된 이전 오디오 프레임의 동기화 현황에 관한 정보를 디스플레이할 수 있다.The display unit 1210 displays and outputs information processed by the data transmission apparatus 100. For example, the display unit 1210 may display information related to data transmission between the data transmission apparatus 100 and the data reproducing apparatus 1000. For example, the display 1210 may display a transmission rate and power efficiency of the audio frame identification value. In addition, the display unit 1210 may display information on the status of synchronization between the previous audio frame stored in the data transmission apparatus 100 and the previous audio frame stored in the data reproducing apparatus 1000.
한편, 디스플레이부(1210)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(1210)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(1210)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 데이터 전송 장치(100)의 구현 형태에 따라 데이터 전송 장치(100)는 디스플레이부(1210)를 2개 이상 포함할 수도 있다. 이때, 2개 이상의 디스플레이부(1210)는 힌지(hinge)를 이용하여 마주보게 배치될 수 있다. Meanwhile, when the display unit 1210 and the touch pad form a layer structure and are configured as a touch screen, the display unit 1210 may be used as an input device in addition to the output device. The display unit 1210 may include a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, and a three-dimensional display. 3D display, an electrophoretic display. In addition, the data transmission apparatus 100 may include two or more display units 1210 according to the implementation form of the data transmission apparatus 100. In this case, the two or more display units 1210 may be disposed to face each other using a hinge.
음향 출력부(1220)는 통신부(1500)로부터 수신되거나 메모리(1700)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력부(1220)는 데이터 전송 장치(100)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음, 알림음)과 관련된 음향 신호를 출력한다. 이러한 음향 출력부(1220)에는 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.The sound output unit 1220 outputs audio data received from the communication unit 1500 or stored in the memory 1700. In addition, the sound output unit 1220 outputs a sound signal related to a function (for example, a call signal reception sound, a message reception sound, and a notification sound) performed by the data transmission device 100. The sound output unit 1220 may include a speaker, a buzzer, and the like.
진동 모터(1230)는 진동 신호를 출력할 수 있다. 예를 들어, 진동 모터(1230)는 오디오 데이터 또는 비디오 데이터(예컨대, 호신호 수신음, 메시지 수신음 등)의 출력에 대응하는 진동 신호를 출력할 수 있다. 또한, 진동 모터(1230)는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다.The vibration motor 1230 may output a vibration signal. For example, the vibration motor 1230 may output a vibration signal corresponding to the output of audio data or video data (eg, a call signal reception sound, a message reception sound, etc.). In addition, the vibration motor 1230 may output a vibration signal when a touch is input to the touch screen.
제어부(1300)는, 통상적으로 데이터 전송 장치(100)의 전반적인 동작을 제어한다. 예를 들어, 제어부(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신부(1500), A/V 입력부(1600) 등을 전반적으로 제어할 수 있다. The controller 1300 generally controls the overall operation of the data transmission apparatus 100. For example, the controller 1300 executes programs stored in the memory 1700, such that the user input unit 1100, the output unit 1200, the sensing unit 1400, the communication unit 1500, and the A / V input unit 1600 are provided. ) Can be controlled overall.
구체적으로, 제어부(1300)는 데이터 전송 장치(100)로 입력된 오디오 신호를 복수의 오디오 프레임으로 분할할 수 있다. 데이터 전송 장치(100)는 사용자로부터 발화된 음성 입력을 수신하거나 다른 장치(미도시)로부터 제공된 오디오 신호를 수신할 수 있으며, 제어부(1300)는 오디오 신호를 시간에 따라 계속적으로 분할할 수 있다.In detail, the controller 1300 may divide the audio signal input to the data transmission apparatus 100 into a plurality of audio frames. The data transmission device 100 may receive a voice input spoken by a user or receive an audio signal provided from another device (not shown), and the controller 1300 may continuously divide the audio signal according to time.
제어부(1300)는 현재 오디오 프레임을 데이터 전송 장치(100)의 메모리(1700)에 기저장된 적어도 하나의 오디오 프레임과 비교할 수 있다. 메모리(1700)에 기저장된 오디오 프레임은 현재 오디오 프레임의 이전의 오디오 프레임일 수 있다. 또한, 메모리(1700)에 기 저장된 오디오 프레임은 데이터 재생 장치(1000)에게 성공적으로 전송된 이전 오디오 프레임일 수 있다.The controller 1300 may compare the current audio frame with at least one audio frame previously stored in the memory 1700 of the data transmission apparatus 100. The audio frame previously stored in the memory 1700 may be a previous audio frame of the current audio frame. In addition, the audio frame previously stored in the memory 1700 may be a previous audio frame successfully transmitted to the data reproducing apparatus 1000.
제어부(1300)는 메모리(1700)에 기저장된 이전 오디오 프레임과 현재 오디오 프레임을 비교함으로써, 이전 오디오 프레임과 현재 오디오 프레임의 유사도를 결정할 수 있다. 예를 들어, 제어부(1300)는 이전 오디오 프레임과 현재 오디오 프레임의 상관관계 수치(Correlation Value)를 산출함으로써 이전 오디오 프레임과 현재 오디오 프레임의 유사도를 결정할 수 있다. 이전 오디오 프레임과 현재 오디오 프레임의 상관관계 수치는 MSE(Mean Square Error) 등의 기법을 이용하여 산출될 수 있다. 그러나, 이에 제한되지 않으며 다양한 기법을 통하여 이전 오디오 프레임과 현재 오디오 프레임의 유사도가 판단될 수 있다.The controller 1300 may determine the similarity between the previous audio frame and the current audio frame by comparing the previous audio frame previously stored in the memory 1700 with the current audio frame. For example, the controller 1300 may determine a similarity degree between the previous audio frame and the current audio frame by calculating a correlation value between the previous audio frame and the current audio frame. The correlation value between the previous audio frame and the current audio frame may be calculated using a technique such as Mean Square Error (MSE). However, the present invention is not limited thereto and the similarity between the previous audio frame and the current audio frame may be determined through various techniques.
제어부(1300)는 결정된 유사도가 기설정된 임계치보다 큰지를 판단할 수 있다. 기설정된 임계치는, 예를 들어, 오디오 신호의 종류, 오디오 신호의 분할 방법, 데이터 전송 장치(100)의 사양 및 데이터 재생 장치(1000)의 사양에 따라 다양하게 설정될 수 있다.The controller 1300 may determine whether the determined similarity is greater than a preset threshold. The preset threshold may be variously set depending on, for example, the type of the audio signal, the method of dividing the audio signal, the specification of the data transmission apparatus 100, and the specification of the data reproducing apparatus 1000.
또한, 결정된 유사도가 기설정된 임계치보다 큰 경우에, 제어부(1300)는 메모리(1700)에 기 저장된 이전 오디오 프레임의 식별 값을 데이터 재생 장치(1000)에게 제공할 수 있다. 제어부(1300)는 결정된 유사도를 갖는 이전 오디오 프레임의 식별 값을 데이터 재생 장치(1000)에게 제공할 수 있다. In addition, when the determined similarity is greater than the preset threshold, the controller 1300 may provide the data reproducing apparatus 1000 with an identification value of a previous audio frame previously stored in the memory 1700. The controller 1300 may provide the data reproducing apparatus 1000 with an identification value of the previous audio frame having the determined similarity.
만약, 메모리(1700)에 기 저장된 이전 오디오 프레임들 중에서 임계치 이상의 유사도를 가지는 이전 오디오 프레임이 복수인 경우에는, 제어부(1300)는 가장 높은 유사도를 가지는 이전 오디오 프레임의 식별 값을 데이터 재생 장치(1000)에게 제공할 수 있다.If there are a plurality of previous audio frames having similarities over a threshold among the previous audio frames previously stored in the memory 1700, the controller 1300 may identify an identification value of the previous audio frame having the highest similarity as the data reproducing apparatus 1000. ) Can be provided.
이 경우, 이전 오디오 프레임은 데이터 재생 장치(1000)의 메모리에도 미리 저장되어 있으며, 데이터 재생 장치(1000)는 수신된 식별 값을 이용하여 데이터 재생 장치(1000)의 메모리에 저장된 이전 오디오 프레임을 추출하고 출력할 수 있게 된다.In this case, the previous audio frame is previously stored in the memory of the data reproducing apparatus 1000, and the data reproducing apparatus 1000 extracts the previous audio frame stored in the memory of the data reproducing apparatus 1000 by using the received identification value. And output.
한편, 결정된 유사도가 기설정된 임계치보다 작은 경우에, 제어부(1300)는 현재 오디오 프레임을 압축할 수 있다. 또한, 제어부(1300)는 압축된 현재 오디오 프레임을 데이터 재생 장치(1000)에게 제공할 수 있다.Meanwhile, when the determined similarity is smaller than the preset threshold, the controller 1300 may compress the current audio frame. In addition, the controller 1300 may provide the compressed current audio frame to the data reproducing apparatus 1000.
한편, 제어부(1300)는 현재 오디오 프레임을 압축하여 데이터 재생 장치(1000)에게 제공하고, 메모리(1700)에 저장된 이전 오디오 프레임을 관리할 수 있다.Meanwhile, the controller 1300 may compress the current audio frame and provide the same to the data reproducing apparatus 1000 and manage the previous audio frame stored in the memory 1700.
제어부(1300)는 현재 오디오 프레임을 압축할 수 있다. 제어부(1300)는 현재 오디오 프레임을 데이터 재생 장치(1000)에게 제공하기 위하여 현재 오디오 프레임을 다양한 코덱 알고리즘을 이용하여 오디오 비트스트림으로 압축할 수 있다.The controller 1300 may compress the current audio frame. The controller 1300 may compress the current audio frame into an audio bitstream using various codec algorithms to provide the current audio frame to the data reproducing apparatus 1000.
제어부(1300)는 압축된 현재 오디오 프레임을 데이터 재생 장치(1000)에게 제공할 수 있다. 제어부(1300)는 압축된 오디오 프레임을 전송한 시각을 확인할 수 있다.The controller 1300 may provide the compressed current audio frame to the data reproducing apparatus 1000. The controller 1300 may check the time at which the compressed audio frame was transmitted.
제어부(1300)는 데이터 재생 장치(1000)로부터 ACK 신호를 수신하였는지를 판단할 수 있다. 데이터 재생 장치(1000)가 압축된 오디오 프레임을 성공적으로 수신한 경우에 데이터 재생 장치(1000)는 ACK 신호를 데이터 전송 장치(100)에게 전송할 수 있다. 또한, 데이터 재생 장치(1000)가 압축된 오디오 신호를 성공적으로 수신하지 못한 경우에 데이터 재생 장치(1000)는 NACK 신호를 데이터 전송 장치(100)에게 전송할 수 있다.The controller 1300 may determine whether an ACK signal is received from the data reproducing apparatus 1000. When the data reproducing apparatus 1000 successfully receives the compressed audio frame, the data reproducing apparatus 1000 may transmit an ACK signal to the data transmitting apparatus 100. In addition, when the data reproducing apparatus 1000 does not successfully receive the compressed audio signal, the data reproducing apparatus 1000 may transmit a NACK signal to the data transmitting apparatus 100.
데이터 전송 장치(100)가 데이터 재생 장치(1000)로부터 ACK 신호를 수신하였다고 판단되면, 제어부(1300)는 성공적으로 전송된 압축된 현재 오디오 프레임을 신장(decompression)할 수 있다.If it is determined that the data transmission apparatus 100 receives the ACK signal from the data reproduction apparatus 1000, the controller 1300 may decompress the successfully transmitted compressed current audio frame.
제어부(1300)는 메모리(1700)에 기저장된 이전 오디오 프레임 중 적어도 하나를 삭제할 수 있다. 제어부(1300)는 기 설정된 기준에 따라, 기저장된 이전 오디오 프레임 중 적어도 하나를 선택하고, 선택된 이전 오디오 프레임을 메모리(1700)에서 삭제할 수 있다. 메모리(1700)에 기저장된 이전 오디오 프레임 중 적어도 하나가 삭제됨에 따라, 신장된 현재 오디오 프레임이 저장될 공간이 메모리(1700) 내에 확보될 수 있다.The controller 1300 may delete at least one of previous audio frames previously stored in the memory 1700. The controller 1300 may select at least one of previously stored previous audio frames and delete the selected previous audio frame from the memory 1700 according to a preset criterion. As at least one of the previous audio frames previously stored in the memory 1700 is deleted, a space in which the extended current audio frame is to be stored may be secured in the memory 1700.
제어부(1300)는 신장된 현재 오디오 프레임을 메모리(1700)에 저장할 수 있다.The controller 1300 may store the extended current audio frame in the memory 1700.
또한, 데이터 전송 장치(100)가 데이터 재생 장치(1000)로부터 ACK 신호를 수신하지 못하였다고 판단되면, 제어부(1300)는 압축된 현재 오디오 프레임의 전송 시간이 전송 제한 시간을 초과하였는지를 판단할 수 있다. 전송 제한 시간은, 압축된 현재 오디오 프레임을 전송하기 위하여 설정된 제한 시간일 수 있으며, 다양한 기준에 따라 설정될 수 있다.In addition, if it is determined that the data transmission apparatus 100 does not receive the ACK signal from the data reproducing apparatus 1000, the controller 1300 may determine whether the transmission time of the compressed current audio frame exceeds the transmission time limit. . The transmission time limit may be a time limit set for transmitting a compressed current audio frame and may be set according to various criteria.
압축된 현재 오디오 프레임의 전송 시간이 전송 제한 시간을 초과하였다고 판단되면, 제어부(1300)는 다음 오디오 프레임을 압축할 수 있다. 이후, 제어부(1300)는 압축된 다음 오디오 프레임을 데이터 재생 장치(1000)에게 제공할 수 있다.If it is determined that the transmission time of the compressed current audio frame exceeds the transmission time limit, the controller 1300 may compress the next audio frame. Thereafter, the controller 1300 may provide the compressed audio frame to the data reproducing apparatus 1000.
센싱부(1400)는, 데이터 전송 장치(100)의 상태 또는 데이터 전송 장치(100) 주변의 상태를 감지하고, 감지된 정보를 제어부(1300)로 전달할 수 있다. The sensing unit 1400 may detect a state of the data transmission device 100 or a state around the data transmission device 100 and transmit the detected information to the control unit 1300.
센싱부(1400)는, 지자기 센서(Magnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.The sensing unit 1400 may include a geomagnetic sensor 1410, an acceleration sensor 1420, a temperature / humidity sensor 1430, an infrared sensor 1440, a gyroscope sensor 1450, and a position sensor. (Eg, GPS) 1460, barometric pressure sensor 1470, proximity sensor 1480, and RGB sensor (illuminance sensor) 1490, but are not limited thereto. Since functions of the respective sensors can be intuitively deduced by those skilled in the art from the names, detailed descriptions thereof will be omitted.
통신부(1500)는, 데이터 전송 장치(100) 및 데이터 재생 장치(1000) 간의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다. The communication unit 1500 may include one or more components that allow communication between the data transmission apparatus 100 and the data reproducing apparatus 1000. For example, the communicator 1500 may include a short range communicator 1510, a mobile communicator 1520, and a broadcast receiver 1530.
근거리 통신부(short-range wireless communication unit)(151)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. The short-range wireless communication unit 151 includes a Bluetooth communication unit, a Bluetooth low energy (BLE) communication unit, a near field communication unit (Near Field Communication unit), a WLAN (Wi-Fi) communication unit, a Zigbee communication unit, an infrared ray ( IrDA (Infrared Data Association) communication unit, WFD (Wi-Fi Direct) communication unit, UWB (ultra wideband) communication unit, Ant + communication unit and the like, but may not be limited thereto.
이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.The mobile communication unit 1520 transmits and receives a radio signal with at least one of a base station, an external terminal, and a server on a mobile communication network. Here, the wireless signal may include various types of data according to transmission and reception of a voice call signal, a video call call signal, or a text / multimedia message.
방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 데이터 전송 장치(100)가 방송 수신부(1530)를 포함하지 않을 수도 있다.The broadcast receiving unit 1530 receives a broadcast signal and / or broadcast related information from the outside through a broadcast channel. The broadcast channel may include a satellite channel and a terrestrial channel. According to an implementation example, the data transmission apparatus 100 may not include the broadcast reception unit 1530.
또한, 통신부(1500)는 일반적으로 사용되는 오디오 프레임 샘플을 메모리(1700)에 사전에 저장하기 위하여, 표준 오디오 프레임들을 수신할 수 있다.In addition, the communicator 1500 may receive standard audio frames in order to pre-store commonly used audio frame samples in the memory 1700.
입력부(1600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610)와 마이크로폰(1620) 등이 포함될 수 있다. 카메라(1610)은 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 제어부(1300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다. The input unit 1600 is for inputting an audio signal or a video signal, and may include a camera 1610 and a microphone 1620. The camera 1610 may obtain an image frame such as a still image or a moving image through an image sensor in a video call mode or a photographing mode. The image captured by the image sensor may be processed by the controller 1300 or a separate image processor (not shown).
카메라(1610)에서 처리된 화상 프레임은 메모리(1700)에 저장되거나 통신부(1500)를 통하여 외부로 전송될 수 있다. 카메라(1610)는 단말기의 구성 태양에 따라 2개 이상이 구비될 수도 있다.The image frame processed by the camera 1610 may be stored in the memory 1700 or transmitted to the outside through the communication unit 1500. Two or more cameras 1610 may be provided according to the configuration aspect of the terminal.
마이크로폰(1620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(1620)은 외부 디바이스 또는 화자로부터 음향 신호를 수신할 수 있다. 마이크로폰(1620)는 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)를 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다. The microphone 1620 receives an external sound signal and processes the external sound signal into electrical voice data. For example, the microphone 1620 may receive an acoustic signal from an external device or speaker. The microphone 1620 may use various noise removing algorithms for removing noise generated in the process of receiving an external sound signal.
메모리(1700)는, 제어부(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 데이터 전송 장치(100)로 입력되거나 데이터 전송 장치(100)로부터 출력되는 데이터를 저장할 수도 있다. 또한, 메모리(1700)는 이전 오디오 프레임을 저장하는 버퍼 메모리로 이용될 수 있다.The memory 1700 may store a program for processing and controlling the controller 1300, and may store data input to the data transmission device 100 or output from the data transmission device 100. In addition, the memory 1700 may be used as a buffer memory for storing previous audio frames.
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. The memory 1700 may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, SD or XD memory), RAM Random Access Memory (RAM) Static Random Access Memory (SRAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Programmable Read-Only Memory (PROM), Magnetic Memory, Magnetic Disk It may include at least one type of storage medium of the optical disk.
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730) 등으로 분류될 수 있다. Programs stored in the memory 1700 may be classified into a plurality of modules according to their functions. For example, the programs stored in the memory 1700 may be classified into a UI module 1710, a touch screen module 1720, a notification module 1730, and the like. .
UI 모듈(1710)은, 애플리케이션 별로 데이터 전송 장치(100)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 제어부(1300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(1720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.The UI module 1710 may provide a specialized UI, GUI, or the like that interoperates with the data transmission apparatus 100 for each application. The touch screen module 1720 may detect a touch gesture on a user's touch screen and transmit information about the touch gesture to the controller 1300. The touch screen module 1720 according to some embodiments may recognize and analyze a touch code. The touch screen module 1720 may be configured as separate hardware including a controller.
터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 터치스크린의 터치를 감지하기 위한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다.Various sensors may be provided inside or near the touch screen to detect a touch or proximity touch of the touch screen. An example of a sensor for sensing a touch of a touch screen is a tactile sensor. The tactile sensor refers to a sensor that senses the contact of a specific object to the extent that a person feels or more. The tactile sensor may sense various information such as the roughness of the contact surface, the rigidity of the contact object, the temperature of the contact point, and the like.
또한, 터치스크린의 터치를 감지하기 위한 센서의 일례로 근접 센서가 있다.In addition, an example of a sensor for sensing a touch of a touch screen is a proximity sensor.
근접 센서는 소정의 검출면에 접근하는 물체, 혹은 근방에 존재하는 물체의 유무를 전자계의 힘 또는 적외선을 이용하여 기계적 접촉이 없이 검출하는 센서를 말한다. 근접 센서의 예로는 투과형 광전 센서, 직접 반사형 광전 센서, 미러 반사형 광전 센서, 고주파 발진형 근접 센서, 정전용량형 근접 센서, 자기형 근접 센서, 적외선 근접 센서 등이 있다. 사용자의 터치 제스처에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭, 스와이프 등이 있을 수 있다.The proximity sensor refers to a sensor that detects the presence or absence of an object approaching a predetermined detection surface or an object present in the vicinity without using a mechanical contact by using an electromagnetic force or infrared rays. Examples of the proximity sensor include a transmission photoelectric sensor, a direct reflection photoelectric sensor, a mirror reflection photoelectric sensor, a high frequency oscillation proximity sensor, a capacitive proximity sensor, a magnetic proximity sensor, and an infrared proximity sensor. The user's touch gesture may include tap, touch and hold, double tap, drag, pan, flick, drag and drop, and swipe.
알림 모듈(1730)은 데이터 전송 장치(100)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다. 데이터 전송 장치(100)에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 일정 알림 등이 있다. 알림 모듈(1730)은 디스플레이부(1210)를 통해 비디오 신호 형태로 알림 신호를 출력할 수도 있고, 음향 출력부(1220)를 통해 오디오 신호 형태로 알림 신호를 출력할 수도 있고, 진동 모터(1230)를 통해 진동 신호 형태로 알림 신호를 출력할 수도 있다.The notification module 1730 may generate a signal for notifying occurrence of an event of the data transmission device 100. Examples of events occurring in the data transmission apparatus 100 include call signal reception, message reception, key signal input, schedule notification, and the like. The notification module 1730 may output a notification signal in the form of a video signal through the display unit 1210, may output the notification signal in the form of an audio signal through the sound output unit 1220, and the vibration motor 1230. Through the notification signal may be output in the form of a vibration signal.
한편, 일부 실시예에 따른 데이터 재생 장치(1000)는 도 20 및 도 21에 도시된 데이터 전송 장치(100)와 마찬가지의 구성을 포함할 수 있다.Meanwhile, the data reproducing apparatus 1000 according to some embodiments may include a configuration similar to that of the data transmitting apparatus 100 illustrated in FIGS. 20 and 21.
데이터 재생 장치(1000)의 제어부는 데이터 재생 장치(1000)의 통신부를 통하여 데이터 전송 장치(100)로부터 오디오 신호에 관련된 데이터를 수신할 수 있다. The controller of the data reproducing apparatus 1000 may receive data related to an audio signal from the data transmitting apparatus 100 through the communication unit of the data reproducing apparatus 1000.
데이터 재생 장치(1000)의 제어부는 수신된 데이터의 데이터 타입을 식별할 수 있다. 데이터 재생 장치(1000)의 제어부는 데이터 전송 장치(100)로부터 수신된 오디오 신호에 관련된 데이터가 압축된 현재 오디오 프레임인지, 이전 오디오 프레임의 식별 값인지를 판단할 수 있다.The controller of the data reproducing apparatus 1000 may identify a data type of the received data. The controller of the data reproducing apparatus 1000 may determine whether data related to the audio signal received from the data transmitting apparatus 100 is a compressed current audio frame or an identification value of a previous audio frame.
식별된 데이터의 종류가 압축된 현재 오디오 프레임인 경우, 데이터 재생 장치(1000)의 제어부는 압축된 현재 오디오 프레임을 신장할 수 있다.If the type of the identified data is a compressed current audio frame, the controller of the data reproducing apparatus 1000 may expand the compressed current audio frame.
데이터 재생 장치(1000)의 제어부는 기설정된 삭제 순위에 기초하여, 데이터 재생 장치(1000)의 메모리에 기저장된 이전 오디오 프레임을 삭제할 수 있다. 이 경우, 데이터 재생 장치(1000)의 제어부는 삭제 순위에 관한 설정 값을 데이터 전송 장치(100)로부터 미리 수신하여 저장할 수 있으며, 삭제 순위에 관한 동일한 설정 값이 데이터 전송 장치(100) 및 데이터 재생 장치(1000)에 각각 저장될 수 있다. 그러나, 이에 제한되지 않으며, 데이터 재생 장치(1000)의 제어부가 사용자 입력에 기초하여, 삭제 순위에 관한 설정 값을 생성하고 생성된 설정 값을 데이터 전송 장치(100)에게 제공할 수도 있다.The controller of the data reproducing apparatus 1000 may delete the previous audio frame pre-stored in the memory of the data reproducing apparatus 1000 based on the preset deletion order. In this case, the controller of the data reproducing apparatus 1000 may receive and store a setting value of the deletion rank from the data transmission apparatus 100 in advance, and the same setting value of the deletion rank may be stored in the data transmission apparatus 100 and the data reproduction. Each device may be stored in the device 1000. However, the present invention is not limited thereto, and the controller of the data reproducing apparatus 1000 may generate a setting value related to the deletion order based on a user input and provide the generated setting value to the data transmission apparatus 100.
데이터 재생 장치(1000)의 제어부는 삭제 순위에 관한 설정 값에 따라, 메모리에 기저장된 이전 오디오 프레임 중 적어도 하나를 삭제할 수 있다. 이전 오디오 프레임이 메모리에서 삭제됨에 따라, 메모리 내에서 현재 오디오 프레임이 저장될 저장 공간이 확보될 수 있다.The controller of the data reproducing apparatus 1000 may delete at least one of the previous audio frames pre-stored in the memory according to a setting value of the deletion order. As the previous audio frame is deleted from the memory, a storage space for storing the current audio frame in the memory may be secured.
데이터 재생 장치(1000)의 제어부는 신장된 현재 오디오 프레임을 메모리에 저장할 수 있다.The controller of the data reproducing apparatus 1000 may store the extended current audio frame in a memory.
데이터 재생 장치(1000)의 제어부는 ACK 신호를 데이터 전송 장치(100)에게 제공할 수 있다. 데이터 재생 장치(1000)의 제어부는 압축된 현재 오디오 프레임을 성공적으로 수신되었음을 데이터 전송 장치(100)에게 알리기 위하여 ACK 신호를 데이터 전송 장치(100)에게 제공할 수 있다. 이에 따라, 데이터 전송 장치(100)는 ACK 신호를 수신함으로써 압축된 현재 오디오 프레임이 성공적으로 데이터 재생 장치(1000)에게 전송되었음을 판단할 수 있다. 또한, 데이터 전송 장치(100)는 데이터 전송 장치(100)의 메모리(1700)에 기저장된 이전 오디오 프레임을 삭제하고, 압축된 현재 오디오 프레임을 신장하여 메모리(1700)에 저장할 수 있다. 이 경우, 데이터 전송 장치(100)는 데이터 재생 장치(1000)와 동일한 삭제 순위에 따라 이전 오디오 프레임을 삭제할 수 있다.The controller of the data reproducing apparatus 1000 may provide an ACK signal to the data transmitting apparatus 100. The controller of the data reproducing apparatus 1000 may provide an ACK signal to the data transmitting apparatus 100 to inform the data transmitting apparatus 100 that the compressed current audio frame has been successfully received. Accordingly, the data transmission apparatus 100 may determine that the compressed current audio frame has been successfully transmitted to the data reproduction apparatus 1000 by receiving the ACK signal. In addition, the data transmission apparatus 100 may delete the previous audio frame previously stored in the memory 1700 of the data transmission apparatus 100, extend the compressed current audio frame, and store it in the memory 1700. In this case, the data transmission apparatus 100 may delete the previous audio frame according to the same deletion order as that of the data reproduction apparatus 1000.
데이터 재생 장치(1000)의 제어부는 신장된 현재 오디오 프레임의 오디오 신호를 데이터 재생 장치(1000)의 출력부를 통하여 출력할 수 있다.The controller of the data reproducing apparatus 1000 may output the audio signal of the extended current audio frame through the output unit of the data reproducing apparatus 1000.
만약, 식별된 데이터의 종류가 이전 오디오 프레임의 식별 값인 경우, 데이터 재생 장치(1000)의 제어부는 수신된 식별 값에 대응되는 이전 오디오 프레임을 데이터 재생 장치(1000)의 메모리로부터 추출할 수 있다. 데이터 재생 장치(1000)의 제어부는 수신된 식별 값을 가지는 이전 오디오 프레임을 추출할 수 있다.If the type of the identified data is the identification value of the previous audio frame, the controller of the data reproducing apparatus 1000 may extract the previous audio frame corresponding to the received identification value from the memory of the data reproducing apparatus 1000. The controller of the data reproducing apparatus 1000 may extract a previous audio frame having the received identification value.
데이터 재생 장치(1000)의 제어부는 추출된 이전 오디오 프레임의 오디오 신호를 출력할 수 있다.The controller of the data reproducing apparatus 1000 may output an audio signal of the extracted previous audio frame.
한편, 본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.Meanwhile, the present invention can be embodied as computer readable codes on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like, which may also be implemented in the form of carrier waves (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. And functional programs, codes and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.
이제까지 본 발명에 대하여 바람직한 실시 예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명을 구현할 수 있음을 이해할 것이다. 그러므로 상기 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 한다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will understand that the present invention can be embodied in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown not in the above description but in the claims, and all differences within the scope should be construed as being included in the present invention.

Claims (15)

  1. 제2 디바이스에게 오디오 신호를 제공하는 제1 디바이스에 있어서, A first device for providing an audio signal to a second device, the first device comprising:
    적어도 하나의 이전 오디오 프레임을 저장하는 메모리;A memory for storing at least one previous audio frame;
    상기 제 1 디바이스에 입력된 오디오 신호를 복수의 오디오 프레임으로 분할하고, 상기 복수의 오디오 프레임 중 현재 오디오 프레임과 상기 제1 디바이스의 메모리에 기 저장된 상기 적어도 하나의 이전 오디오 프레임을 비교하며, 상기 기 저장된 이전 오디오 프레임과 현재 오디오 프레임의 유사도에 기초하여 상기 기 저장된 이전 오디오 프레임들 중 하나를 선택하는 제어부; 및Splitting an audio signal input to the first device into a plurality of audio frames, comparing a current audio frame among the plurality of audio frames with the at least one previous audio frame previously stored in a memory of the first device, A controller for selecting one of the previously stored previous audio frames based on a similarity between the stored previous audio frame and the current audio frame; And
    상기 선택된 이전 오디오 프레임의 식별 값을 상기 제 2 디바이스에게 전송하는 통신부;A communication unit which transmits an identification value of the selected previous audio frame to the second device;
    를 포함하는 디바이스.Device comprising a.
  2. 제1 항에 있어서The method of claim 1
    상기 제어부는, The control unit,
    상기 기 저장된 이전 오디오 프레임과 상기 현재 오디오 프레임의 상기 유사도가 기 설정된 임계치보다 큼에 따라, 상기 기 저장된 이전 오디오 프레임 중 하나를 선택하는 것Selecting one of the previously stored previous audio frames according to the similarity between the previously stored previous audio frame and the current audio frame being greater than a preset threshold.
    을 특징으로 하는 디바이스.Device characterized in that.
  3. 제 1 항에 있어서The method of claim 1
    상기 제어부는,The control unit,
    상기 기 저장된 이전 오디오 프레임과 상기 현재 오디오 프레임의 상기 유사도가 기 설정된 임계치보다 작음에 따라, 상기 현재 오디오 프레임을 압축하며Compressing the current audio frame as the similarity between the previously stored previous audio frame and the current audio frame is smaller than a preset threshold;
    상기 통신부는, The communication unit,
    상기 압축된 현재 오디오 프레임을 상기 제 2 디바이스에게 전송하는 것Sending the compressed current audio frame to the second device
    을 특징으로 하는 디바이스.Device characterized in that.
  4. 제 3 항에 있어서The method of claim 3
    상기 제어부는,The control unit,
    상기 압축된 현재 오디오 프레임이 상기 제 2 디바이스에게 성공적으로 전송됨에 따라, 상기 기 저장된 이전 오디오 프레임 중 적어도 하나를 삭제하고,As the compressed current audio frame is successfully transmitted to the second device, delete at least one of the previously stored previous audio frames,
    상기 기 저장된 이전 오디오 프레임 중 적어도 하나가 삭제됨에 따라, 상기 현재 오디오 프레임을 상기 메모리에 저장하는 것Storing the current audio frame in the memory as at least one of the previously stored previous audio frames is deleted;
    을 특징으로 하는 디바이스.Device characterized in that.
  5. 제 4 항에 있어서The method of claim 4
    상기 제어부는,The control unit,
    상기 기 저장된 이전 오디오 프레임 중에서 상기 메모리에 먼저 저장된 이전 오디오 프레임을 삭제하는 것Deleting the previous audio frame previously stored in the memory among the previously stored previous audio frames
    을 특징으로 하는 디바이스.Device characterized in that.
  6. 제 4 항에 있어서,The method of claim 4, wherein
    상기 제어부는,The control unit,
    상기 기 저장된 이전 오디오 프레임의 식별 값이 상기 제 2 디바이스에게 전송된 횟수에 기초하여, 상기 기 저장된 이전 오디오 프레임 중 하나를 삭제하는 것Deleting one of the previously stored previous audio frames based on the number of times the identification value of the previously stored previous audio frame has been transmitted to the second device.
    을 특징으로 하는 디바이스.Device characterized in that.
  7. 제 1 항에 있어서,The method of claim 1,
    상기 통신부는,The communication unit,
    상기 선택된 이전 오디오 프레임의 식별 값의 전송이 실패됨에 따라, 상기 선택된 이전 오디오 프레임의 식별값을 기 설정된 전송 제한 시간 내에 상기 제 2 디바이스에게 재전송하는 것Retransmitting the identification value of the selected previous audio frame to the second device within a preset transmission time limit as transmission of the identification value of the selected previous audio frame fails.
    을 특징으로 하는 디바이스Device characterized by
  8. 제 7 항에 있어서,The method of claim 7, wherein
    상기 제어부는,The control unit,
    상기 기 설정된 전송 제한 시간 내에, 상기 선택된 이전 오디오 프레임의 식별 값의 전송이 실패됨에 따라, 다음 오디오 프레임의 전송 방법을 결정하는 것Determining a transmission method of a next audio frame as the transmission of the identification value of the selected previous audio frame fails within the preset transmission time limit.
    을 특징으로 하는 디바이스.Device characterized in that.
  9. 제 1 디바이스가 제 2 디바이스에게 오디오 신호를 제공하는 방법에 있어서, A method in which a first device provides an audio signal to a second device, the method comprising:
    상기 제 1 디바이스에 입력된 오디오 신호를 복수의 오디오 프레임으로 분할하는 단계;Dividing an audio signal input to the first device into a plurality of audio frames;
    상기 복수의 오디오 프레임 중 현재 오디오 프레임과 상기 제 1 디바이스의 메모리에 기 저장된 적어도 하나의 이전 오디오 프레임을 비교하는 단계;Comparing a current audio frame among the plurality of audio frames with at least one previous audio frame previously stored in a memory of the first device;
    상기 기 저장된 이전 오디오 프레임과 중 상기 현재 오디오 프레임의 유사도에 기초하여, 상기 기 저장된 이전 오디오 프레임 중 하나를 선택하는 단계; 및Selecting one of the previously stored previous audio frames based on a similarity of the current audio frame among the previously stored previous audio frames; And
    상기 선택된 이전 오디오 프레임의 식별 값을 상기 제 2 디바이스에게 전송하는 단계;Transmitting an identification value of the selected previous audio frame to the second device;
    를 포함하는 방법.How to include.
  10. 제 9 항에 있어서,The method of claim 9,
    상기 선택된 이전 오디오 프레임은, 상기 제 2 디바이스에게 성공적으로 전송됨에 따라, 상기 메모리 및 상기 제 2 디바이스의 메모리에 각각 저장된 것인, 방법.The selected previous audio frame is stored in the memory and the memory of the second device, respectively, as successfully transmitted to the second device.
  11. 제 9 항에 있어서,The method of claim 9,
    상기 기 저장된 이전 오디오 프레임 중 하나를 선택하는 단계는, 상기 기 저장된 이전 오디오 프레임과 상기 현재 오디오 프레임의 유사도가 기 설정된 임계치보다 큼에 따라, 상기 기 저장된 이전 오디오 프레임 중 하나를 선택하는 것인, 방법.The step of selecting one of the previously stored previous audio frames is to select one of the previously stored previous audio frames according to a similarity between the previously stored previous audio frame and the current audio frame being greater than a preset threshold. Way.
  12. 제 9 항에 있어서,The method of claim 9,
    상기 기 저장된 이전 오디오 프레임과 상기 현재 오디오 프레임의 유사도가 기 설정된 임계치보다 작음에 따라, 상기 현재 오디오 프레임을 압축하는 단계; 및Compressing the current audio frame according to a similarity between the previously stored previous audio frame and the current audio frame being less than a preset threshold; And
    상기 압축된 현재 오디오 프레임을 상기 제 2 디바이스에게 전송하는 단계;Sending the compressed current audio frame to the second device;
    를 더 포함하는 것인, 방법.It further comprises.
  13. 제 12 항에 있어서,The method of claim 12,
    상기 압축된 현재 오디오 프레임이 상기 제 2 디바이스에게 성공적으로 전송됨에 따라, 상기 기 저장된 이전 오디오 프레임 중 적어도 하나를 삭제하는 단계; 및Deleting at least one of the previously stored previous audio frames as the compressed current audio frame is successfully transmitted to the second device; And
    상기 기 저장된 이전 오디오 프레임 중 적어도 하나가 삭제됨에 따라, 상기 현재 오디오 프레임을 상기 메모리에 저장하는 단계;Storing the current audio frame in the memory as at least one of the previously stored previous audio frames is deleted;
    를 더 포함하는 것인, 방법.It further comprises.
  14. 다른 디바이스로부터 오디오 신호를 수신하는 디바이스에 있어서,In a device that receives an audio signal from another device,
    상기 다른 디바이스로부터 상기 다른 디바이스에 입력된 오디오 신호에 관련된 데이터를 수신하는 통신부;A communication unit for receiving data related to an audio signal input to the other device from the other device;
    상기 수신된 데이터의 종류를 결정하고, 상기 결정된 데이터의 종류가 기 저장된 오디오 프레임의 식별값이면, 상기 식별값에 대응되는 오디오 프레임을 상기 디바이스의 메모리로부터 추출하고, 상기 결정된 데이터의 종류가 상기 다른 디바이스에 입력된 오디오 신호로부터 분할된 현재 오디오 프레임의 비트스트림이면, 상기 비트스트림을 현재 오디오 프레임으로 신장하는 제어부; 및If the type of the received data is determined, and the type of the determined data is an identification value of a pre-stored audio frame, the audio frame corresponding to the identification value is extracted from the memory of the device, and the type of the determined data is the other. A control unit that extends the bitstream to the current audio frame if it is a bitstream of the current audio frame divided from the audio signal input to the device; And
    상기 추출된 오디오 프레임의 오디오 신호 또는 상기 신장된 현재 오디오 프레임의 오디오 신호를 출력하는 출력부;An output unit configured to output an audio signal of the extracted audio frame or an audio signal of the extended current audio frame;
    를 포함하는 디바이스.Device comprising a.
  15. 디바이스가 다른 디바이스로부터 오디오 신호를 수신하는 방법에 있어서, In a method for a device to receive an audio signal from another device,
    상기 다른 디바이스로부터 상기 다른 디바이스에 입력된 오디오 신호에 관련된 데이터를 수신하는 단계;Receiving data related to an audio signal input to the other device from the other device;
    상기 수신된 데이터의 종류를 결정하는 단계;Determining a type of the received data;
    상기 결정된 데이터의 종류가 기 저장된 오디오 프레임의 식별값이면, 상기 식별값에 대응되는 오디오 프레임을 상기 디바이스의 메모리로부터 추출하는 단계;Extracting an audio frame corresponding to the identification value from a memory of the device when the type of the determined data is an identification value of a pre-stored audio frame;
    상기 결정된 데이터의 종류가 상기 다른 디바이스에 입력된 오디오 신호로부터 분할된 현재 오디오 프레임의 비트스트림이면, 상기 비트스트림을 현재 오디오 프레임으로 신장하는 단계;Extending the bitstream to the current audio frame if the type of the determined data is a bitstream of a current audio frame divided from an audio signal input to the other device;
    상기 추출된 오디오 프레임의 오디오 신호 또는 상기 신장된 현재 오디오 프레임의 오디오 신호를 출력하는 단계;Outputting an audio signal of the extracted audio frame or an audio signal of the extended current audio frame;
    를 포함하는 방법.How to include.
PCT/KR2015/007014 2014-07-08 2015-07-07 Method and apparatus for sending multimedia data WO2016006915A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201580048273.6A CN106688211B (en) 2014-07-08 2015-07-07 Method and apparatus for transmitting multimedia data
EP15819284.9A EP3169026B1 (en) 2014-07-08 2015-07-07 Method and apparatus for sending multimedia data
US15/324,922 US10170127B2 (en) 2014-07-08 2015-07-07 Method and apparatus for sending multimedia data

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2014-0085369 2014-07-08
KR20140085369 2014-07-08
KR10-2015-0081982 2015-06-10
KR1020150081982A KR102389312B1 (en) 2014-07-08 2015-06-10 Method and apparatus for transmitting multimedia data

Publications (1)

Publication Number Publication Date
WO2016006915A1 true WO2016006915A1 (en) 2016-01-14

Family

ID=55064475

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/007014 WO2016006915A1 (en) 2014-07-08 2015-07-07 Method and apparatus for sending multimedia data

Country Status (1)

Country Link
WO (1) WO2016006915A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000059416A (en) * 1999-03-03 2000-10-05 구자홍 Apparatus for error correction of audio data
US20060167693A1 (en) * 1999-04-19 2006-07-27 Kapilow David A Method and apparatus for performing packet loss or frame erasure concealment
EP1833189A2 (en) * 1999-03-05 2007-09-12 Qualcomm, Incorporated Method and apparatus for efficient data retransmission in a voice-over-data communication system
KR100792209B1 (en) * 2005-12-07 2008-01-08 한국전자통신연구원 Method and apparatus for restoring digital audio packet loss
KR20080112000A (en) * 2007-06-20 2008-12-24 엘지전자 주식회사 Encoding and decoding using the resemblance of a tonality

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000059416A (en) * 1999-03-03 2000-10-05 구자홍 Apparatus for error correction of audio data
EP1833189A2 (en) * 1999-03-05 2007-09-12 Qualcomm, Incorporated Method and apparatus for efficient data retransmission in a voice-over-data communication system
US20060167693A1 (en) * 1999-04-19 2006-07-27 Kapilow David A Method and apparatus for performing packet loss or frame erasure concealment
KR100792209B1 (en) * 2005-12-07 2008-01-08 한국전자통신연구원 Method and apparatus for restoring digital audio packet loss
KR20080112000A (en) * 2007-06-20 2008-12-24 엘지전자 주식회사 Encoding and decoding using the resemblance of a tonality

Similar Documents

Publication Publication Date Title
WO2019125010A1 (en) Method and apparatus for handling duplicate points in point cloud compression
WO2017034155A1 (en) Method, apparatus and system for inserting watermark data
WO2014014308A1 (en) Method and system for sharing content, device and computer-readable recording medium for performing the method
WO2013058423A1 (en) Electronic device and method for operating the electronic device
WO2015026058A1 (en) Method, terminal, and system for reproducing content
WO2014051367A1 (en) User terminal apparatus, electronic device, and method for controlling the same
WO2016036048A1 (en) Method and device for data encrypting
WO2017099331A1 (en) Electronic device, and method for electronic device providing user interface
WO2015057013A1 (en) Method by which portable device displays information through wearable device, and device therefor
WO2014017757A1 (en) Method of transmitting inquiry message, display device for the method, method of sharing information, and mobile terminal
WO2015194693A1 (en) Video display device and operation method therefor
WO2015108341A1 (en) Display device, driver of the display device, electronic device including the display device and the driver, and display system
WO2016104854A1 (en) Encoding method and apparatus, and decoding method and apparatus
KR20160006106A (en) Method and apparatus for transmitting multimedia data
WO2018090822A1 (en) Smart watch-based mobile terminal camera control method and control system
WO2016052889A1 (en) Mobile terminal and method of controlling the same
WO2019017579A1 (en) Display device, display method and display system
WO2021118130A1 (en) Electronic apparatus and method of controlling the same
WO2018097504A2 (en) Electronic device and method for updating channel map thereof
WO2016006915A1 (en) Method and apparatus for sending multimedia data
WO2018047989A1 (en) Image display device and system thereof
WO2019112182A1 (en) Display device and sound output method
WO2017217563A1 (en) Display device and display system including same
WO2016111409A1 (en) Mobile terminal and control method therefor
WO2014030945A2 (en) User terminal device and contents streaming method using the same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15819284

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15324922

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2015819284

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015819284

Country of ref document: EP